-................------------------+--++++----++++++--++++++++*++++++***%%#&&&&&&@@&@#++-++*%%**++*+#+-*++-++++*+*+***###&@@&&&&&&&&##&##&@@@@@&++*%*+*%**#*&%-&@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@&&&&&&@@@@@@@@@@&&&&&&&&&&@&&@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&@&&&#&&@@@@&@&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&@@@&&@@@@@@@@@@@@@@#%#%*%#####&&&#&&&&#&&&&####%**+----.....................................................----------.-----.............-
--.................------------------+++-++---+++++++++++++++++**++++***%%#&#&&&&&&@&++--*****%++++%+-+*-+++++-++*+*%*%&##&@@&&&&&&&&####&&@@@@&+*****%*+-%#%%-@@&@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@&&&&&&&&&&&&&&&&@@@&&&&&&&&&&&&@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&@&&&&&&&@@@@@@@&&&&&@&&&@@@@@@@@@@@&&&&@@@@@@@&&&&&&&&@@&&&&@@@@&&&&@@@@&&&#%%#%###&&&&&&@@@&&@&##%#%%*+----...................................................------------.----.............-
-................-..-..----++---------+++--++--++++++++++++++++***+++***%##&&&&&&&&&+-*++++-++++++%+.+*++-++-+++*++*+*%@&#&&@@&&&&&&&&&&&&&&&@@%****+++*+-+##+%@&&@@@@@@@@@@@@@@@@@@@@@@@&&@&&&@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@&&&@@@@@@@&@@@@@@@@@@@@&&&@@@@&@@&&&&&&&&@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@&&&&&&&&@@@&&&&@@@&&&&@@@@@@@@&#####&&&&&&&&@@@@@@&&&##%%*-----.................................................-.----------------.............-
-.................-...------+++---+++---+++--+-+++++++++++++++++**+****%%#&&&&&&&&&++---+---+-.--++.++-+++**+++++++**%#@@&&&&&&&&&&&&&&&&&&&#%*+-+*+*#&#+*@&##@&&&&&@@&@@@@@@@@@@@@@@@@@@&&&&&&&@@@@&&&&&&&&&&&&&&&&&&&&@@@&&&&&&&&@@@@@@@@&&&@@@@@@@@&&@@@@@@@@@@@@&&&&@@@@@@&&&&&&&&&&&&#&&&&&&@@@@@@@@@@@@@@@@@@@&&&&@&&&&&&@@@@@&&&@@@@@@@&&&&@@@&&&&&@@@@@@@@&&&&&&&&&&@@&&@@@@@@@@&&#%%+----................................................-.------------------............-
-.................------------++--++++--+++++++++++++**+++*+++*+*******%##&&&&&&&&*+--------+-----.--*--++**+++++*+*+*#@&&&&&&&&&&&&&&&&#%*+..--*##&&&%%&@#&&@&&&##&&&&@@@@@@@@@@@@@@@&&&@&&&&&@@@@@&&&&&&&&&&&&&&&&&&&&@&&&&&&&&@&@@@@@&&&&@@@@@@@@&&@&&@@@@@@@@@&&&&@@@@@@&&&&&&&&&&&&&&&&&&&&&&&@@@@&@@@@@@@@@@@&&@&&&&&&&@@@@@@@@@&&@@@@&&&@@@@&&&&@@@@@@@@@@@@@@&&&&@@&@@@@@@@@&&##%+----...............................................---------------------...........-
..-.............--------------++++++**++++++++++++++****++++++*+*******%###&&&&&&*-+---.-.-------.---*--++-*++********%@@&@&&&&&&&&&&&&#+----+%%##&#%*%&@@@%%%&&&@##&&&&&&&&@@@@@@@@@@@&&&@&&&&&@@&@@@&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&@@@@@&&&&@@@@@@@&&&&&@@@@@@@@&&&&&@@@@@&&&&&@@@@@@&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@&&&&&&&&@&&&&&&&&&&@@@&@@@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@&&##%+----.........................................--------------------------...........-
....--........-----------------+*+++++*++++++++++++++*******+++++******%##&&&&&@#--++-...-----....--++--++++***-+***+*#&@#&@&&&&&&&&&&@+.-%%%###&&%**%#&&#&%%%&#%%#&#&&&&&@@@@@@@@@@@@@@@@&&&&&&&&@@&&@@@@@&&&&&&&&&&&&&&&##&&&&@&&&&&@&@@@&&&&@@@@@@@@@&&@&&&@@@@@@@@&&&&&@@@@@@@@@@@@@@@@@&&&&&&&#&&&&@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&##&&@@@&@@@&#&&&@&&@@@@@@&@@@@@@@@@@@&#%%*+----........................................---------------------------..........-
...-....-.....------------------+**+++**+++++++++++++**+********+++****%##&&&&@#+--+--.--------..----*--++--++-.+*****##&#&&&@&&&&&&&&@--+*#&###&%-*#%%#####*%%*%%*&&&&&&&&@@@@@@@@@@@@@@@&&&&&&&&&&&&&&@@@@@@&&&&&&&###&&&###&&@&#&&&&@&&&@&&&&@&&@@@@@@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&###&&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&@&&&&##&@@@@@@@#&#&@@@@@@&&&@@@@@&@@@@@@@@@@@&##%++----......................................------------------------------........-
....-.....-....-----++----------++*++****++++++++++*******%%%%%%*+++***%##&&&&@+---+--.-----.-....-++++-*-+*%*.-+++%%++#@@&&&&&&&&&&&&@%%+--*#*+++*%%***%&#%**+**%**%&@&&&&&@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&@@@@&&&&&&&&&###&&####&@&&&&&&&&&&&&&&&&&&&@@@@@&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&##&&&&@@@@@@@@@@@@@@@@@@@@@@@&&&&@&&&&&&###&&@@@@@&&#@@@&@@@@&&@@@@@@@@@@@@@@@@&##%++---......................................-------------------------------.......-
.........----.-.---+++-----------+**++****+**++++++***%%%%**%%%%%*+***%%#&&&&@%-+-----.-.--+-.-#----++-++++++.-++++***++#&&%*%#&&&&&&&@#%*+--%+-+##*****##*+++***%%*+*#&&&@@&&@@@@@@@@@@&@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&##&&####@@&#&&&&&&&@&&&&&&&&&&@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&###&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&@@&&&&&###&&@@@@&&@@@&@@@@&&&&&@@@@@@@@@@@@@@@@&#%*+----....................................------------------------------------...-
.........-..------++++------------+*******+****++++*****%%%%%%%%%%%***%##&&&&#++-------....--.-%------+*-++++.-+**+**++++**+-*%#&&&&&@&%%**+-*%*********#@%**%+++***+-+%*@&&&&&&@@@@@@@@@&@@@@@&&&&&&&&&&&&&&&&#&&&&&&#&&&&####&###&@&&&&&&&&&&&&&&&&&&&&&&@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@&&###&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&###&&&@@@@&@@@&#@@@&&&&&&&@@@@@@@@@@@@@@@@@&#%%++----..................................-------------------------------------...-
...........----++--+--------+-----+******%*+***+++++***%%%%##%%%##%%%%##&&&&&++++---.-..++-+---*-.---+*+-+-+-+++****++++***+*%#*&&&&&&++-+*%%%%-++***+*%#@#*+++-+**+++***%&&&&&&&@@@@@&@@&&&@@@@@&&&&&&&&&&&&&&###&&&&#&&&&####&&##@&&&&&&&&&&&&&&&&&&&&&&&@@@@@&&@@@@@@@@@@@@@@@@@@@@@@&&&@@&&&&@@@@@@@&@@&&&&&&&&&&&@@@@@@@@@&@@@@@@@@@@&&&&&&&&##&&&&&&&@@@@@@@@##&@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@&#%*++---..................................--------------------------------------..-
.......-...-------++--------+------+*****%%+**++++++++*%%%%###########&&&&&@%+-+----.-++-+-+---*+.-.+---+++--++**+*%*++++**+*++%@@&%%*-+--++-+-.-***%++*%##%%#%%+******%#*#&&@@@&@@@@@@&&&&&&&&@@@@@&&&&&&&&&&&&&#&&&&#&#######&&&&@&#&&#&&&&&&&&&&&&#&&#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&##&&&&&@@@@@@&&&&&&&&&@&&&&&&&&&&&&&&&&&@@@@@@&&&&&&&&&&&##&&&&@@@@@@@&##@@&&&&&&&&@@@@@@@@@@@@@@&@@@@@&##%++--+-...............................----------------------------------------..-
......--..-------++----------+-----++*****%****++++++***%%########&&&&&&&&&%+-+-----.-++-..-.++++.---..+-.----+***%**%%*+****--*#*+++-+---+. **--+%#%**+%&%+**+++--*+*%%%#*@&&@@@@@@@@@&&&&&&&&@@@&&&&&&&&&&&&&&&&&#&#######&&&@&##&&##&&&&&&&&&&##&###&&&@@@&@@&@@@@@@@@@@&@@&&@@@@@@@&&&&&&&&@@@@@@&&&&&&&&@@&&&&&&&&&&&&&&&&@@@@@@@&&&&&&##&&&&##&&@@@@@@@&#&@@@&&&&&&@@@@&&&@@@@@@@@&@@@@@###*++-++--............................-----------------------------------------.--
.......-.-.-..----------------+-----+*****%%***++++++**%%%%%####&&&&&&&&&&#-++----..--...... -+.+.--. .-++----++*%%**%*****++**++*+++------.-+%+--+**%%*#@%+***##%**%*%#%&%#@@@@@&&&@@@@@&&&&&&&@@@@@@@@@@@@&&@@@@@@&&&&&##&&#####&&@&##&&###&&&&&&&####&###&&&&&&&&&&&@@@&@&@@@@&&&@&@@@&@&@&&&&&&&@@@@@@&&&&&#&&&&&&&&&##&&&&&&&&&@@@@@@@&&######&&&&&&&&@@@@@@&&#&@&&&&#&&&@&@@&&&&&&@@@@@&@@@@@&##*++++*----.........................---------------------------------------------
........--...------------------++---++*****%%**+++++**%%%%%###&&&&&&&&&&&%*+---------.....-+.--..--. .----+--++*********%+--++-+**++---+--.+-+%*+++%#%%*#*+*++*+---..-%#&@#@@@@@&&&&@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@&&&&##&&####&&&&####&&###&&&&&&&&&#&&###&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&&&&&&&&&&@@@@@&&&&&&&&###&&&#####&&&&&&&&@@@@&@@&########&&&&&&&@@@@@@@@&&&&@&&&###&&&&&&&&&&&&@@@@@&@@@@@&&#%++***--------.....-...............---------------------------------------------
.............------------------++++-++***%*%%**+++**%%*%%#######&&&&&&&&#+-+--------..-..----..+--. .-.+----+++++*****%*++-+--++++---++-..+--+#*+-+%%%+%+-------.-+*%#&%#@&@&&&&&&&@@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@&@@@@@@&&&########&&&&###########&&&&&&&&&&&&@@@@@@@&&&&&&&########&&##&&&&&&#&&&&&&&&&&@@&&&&&&&&&&&&##&#&###&&&&&&@&@@@&@@&########&&&&&&@@@&&@@&&&&&&&&&##&&&&&&&&&&&&@@@@&&@@@@@@@&#%**%#+--------....--.............-----------------------------------------------
.......-..--.----.----..---------+++++**%%%*%%****%%%%###########&&###&#+-++--+-----.---++-++--..- .--.-----+*++*++****+++-+-+++++-.-++-.--.--+%+--+%*%#*****%*%***+.+##&#@&@&&&&&&&@@@@&&&&&&&&&@@@@&&&@@@@@@&&&@&@@@@@@@&&&&&#####&&&&####&#########&&&&&&@@@&&&&&@@&&&&&&&&&##%###&###&&&######&&&&&&&&&&&&&&&&&&&&&&&&########&&#&&&@@&&@@&####&&&&&&##&&@&&&&@@@@@@@@&&&&&#&&&####&&&#&&@&@&&&@@@@@@@&%%%##+-------+.-.-+-.............-----------------------------------------------
.........-----------------------+++*++**%%%%%#%%%%%%#######&&&&&&&####&*+++---++---------..----...+ .---..--..----+*****%++-++-+*+---++-+-.------+%*-.-+#&--%**-.*#+*++*#&#%&&&&&&&###&@&&&&&&&&&&&&@@@&&&&&@@@@@&&&@@@@@@@@@&&&&&&&&&#&@@@&&&&&#&&##&&&&#&&@@@@@&&&&&&&&&&&###&#######&&###&&#%%%###&&&&##&&&&&&&&&&&##&&&&&#######&&&&&&&@&&&@&&####&&&&&###&&&&&&@@@&@@@@&&&@&&&&&####&&&##&&&@&&&@@@@@@@&##&@#*++--+--+---++..............-----------------------------------------------
..........----..---------------+++++****%%%%%%#%%%######&&&############++*---*+---------+------ .*+ -+.-..-+-+-++*-+*+++++*+--*+---*+-++.--.------**-..*%+*%+**%#*-+*+*@&&##&&&&&&####&&&&&&&&&#&&&&@@&&&&&&@@@@&&&&&@@@@@@&&&&&&##&##&&&@@@&&#####&&&&@@@@@@@@@&&&&&&&&&&############&&###&&#%%%%#######&&&&&&&&&&&&&&&&&&&&&##&##&###&&&&&&&&&###&#&&&&&&&&&&&&&&@&&&&&&&&&&@@&&&&#########&&&&#&&@@@@@&&@@#%*+++-+-++-+-*+.-..........-------------------------------------------------
......-------.-.---------------++++++***%%%%#%###############%%%%%%%%#*-+%+--++-+-----.........-+-.*-.-.-++-.---..+*-*++++-++--+-+++++++-.--..------%*-.-*++-+--+++-++-+%#@##&&&#########&&&&##&##&&&@@@&&&&&&&&@@@&&&&&@@@@@@@@&&&&&&&&&&@@@@@&&##&&&@@@@@&@@@&&&@@&&&&&&&&#############&&##&&&##%%%%##########&&&&&&&&#####&&&&&####&###&&&&&&&&&#%####&&&&&&&&&#&&&&&&&####&&&@@@&&&#########&&&#&&&@@@@%%*++++++**++*%--..........--------------------------------------------------
..-...-------.-.----------------++++****%%%#################%%%%%%%%%%*-+*+-+-++-----..-- *+.-+-+%..*-..--.----+%*---++-+*-+*+--+*+%*--+-.-...-----.-*+--+--+++-+**++-.. -#&%&####%#######&&&&#####&&@@@&&&&&&&&&@@@&&&&@@@@@@@@@@&&&&&&&&@@@@@@@@@@@@@@@@@&&@&&&&&&&&&&&&&&###########%#####&&&#%%%%%%###%##############%#%####&&&#######&&&&&&&&#######&&&&&&&&##&&&&&&&#%##&&&&@@@&&####%####&##&&&@@@@##+++++*+#*+*#*--.........---------------------------------------------------
-.--...----------------------------+++**%%###########%%%%%%%%%**%%%%%**+*++-----+---..+-+-+#-+%.+%.-.+++.--. -..-**-*+%+++--.++*-+%+--+-.--.--.---..--+++%**---.-.... ...%@%######%#####&&&&&&&&###&@@@&&###&&&&&@@@&&&&@@@@@@@&&&&&&&&#&&&@@@@@@@@@&@@@@@@@@&&###&&&&&&&&&&&&##%%%%###%%#####&#%%%%%%%##%%##############%%%%####&&&&&###&&&&&&&&##%#######&&&&#&##&&&&&@&###&&&@&@@@@&###%#%###&#&&&&@@&%**++*%%#*%%%+----.....-----------------------------------------------------
.-....-----------------..-------------+++*%%%######%%%%%%%%%****%%%#*++++*+-+-------..+----**-*++-+-.-... . .-+++-++-++----+-+++*+..-*+-.-----.-.....---+%+---....-------+@#*%##&&######&&&&&&&&&&#&#&@@@&####&&&&&&@@@&@@&@&&&@@&&&&&&####&&&@@@&&&&&&@@@&&&#&#####&&&&&&&&&@&&&&#%%#############%%%%%%%###%%%%#####%#####%%%%##%%#&#&###&&&&&&&&#%#%%%#####&&&#&###&&&&&&&##&&&&@@@@@&&#%##%#####&&&&@@&%%***%%###%#*+-----..-------------------------------------------------------
.-.--.----------------..-----------------+*%%%########%%%%****%%%%#%++--.-++----.-------++--*-.----.-+.++..*--.-++++-+++++*-+-*%-.-*-.+..---.--.......-+***+++*+-+***+++++##%%%##&####&&&&&&&&&&&&&&&&&@@&&#####&&&&&@@@&@@@@@@&&&&&&&&&&&####&&&@@@&&##########&&&######&&&&&&&&&&#########%%######%%%%%%%####%%%###%%##%%%%*%%#%%%##&#%%#&&&&&&&&#%#%%%#####&&&#&##&&&&&&&&##&&&&@@@@@&&&%##%###&&&#&&@@@@%***%#%&&##%*---------------------------------------------------------------
.--.-----+--+++-------..-----------------++*%%#############%%%%####%+-...++----..----+--.--+-#--*+ -..- .+++**+-.-+*+++--.*+++-..****+..---.........-*++*%++%*%*-+++++++*%+*%#&#&&#&######&&&&&&@&&&&&&&@@&###&#&&&&&@@@@@@@@@@@@@@@@@&&&&&&&&&##&&&&&&######&&&#####%####&&&&&&&&&&&########%%%%####%%%%%%%%%##%%%####%%%%%%%**%%%%%%#&#%###&&#&&&&##%#%%####&&&#####&&&#&&&#%#&&&&@@@@@@&#%#%######&&&@@@@@#%*%###@&&#%*---------------------------------------------------------------
..----------+++-+-----.------------------+++*%###&#####%%#########*-.-----+------.--------+-++#-+-..-..-. -+++***+-+++--++--...+--%+*+..--.......---*%+-+*%*#***+++++++++**+++@&####&&######&&&&&@&&&&&&@@@#####&&&&&&@@@@@@@@&&&&@@@@@@@&&&&&&&#####&&&&&&&&&&&#%%%%#######&&#&&&&&&&&&&&##&&&&##%%%##%%%%%%%%%##%%%%#%%%**%%%%***%%%%%#&#%###&&#&&&&&###%%####&&#&#%%##&&#&##%%#&&&&&&&@@@&#%#%#%###&&&@@@@@&#*%@&&@&@#**---------------------------------------------------------------
...-------+--++-+-------.--.--------------+++*%########&#########%-++---.-+-------------+---+.+%.-+.- -+--. -++*****+++--...-+*+++-..-*+.-..-+#%++++%#*+++-+****+++++-+***+*+.%@&#####&##&&##&&&&&&&&&&@@@@#%#######&&&@@@@@@@&&@@@@@&&&&&&#######%##&&######%%%%%%%######&&&&&&&&&&&@@@@&&&&&&&#%%%%%%%**%%*%%#%%%%%%%%**%%*****%%%*%&##%###&&&&&&&&&&#%####&&&&&#%###&####%%%#&&&&&&&@@@&##%%#####&@@&@@@@@#%%@&&@&@#**---------------------------------------------------------------
...----------+++----------..-----------------+*%####&############*+--..--++-------------++-++..-.---.++--+++*.--........-++---%*%--+*.**-+--++**-**+*%*++*+*******++*++%*+--+++%#&&########&##&&&&&&&&&&@@@&#########&&&@@@@@@@@@@@@@&&@@@&&@@&&#######%#&@&############%######&&&&&&@&&&&&&@@@&&&&&&&#%%%%%%%*%%%%%%%%%%%%#%**%******%%%*###%###&&&&&&&&&&&#%%###&&&&##%########%%%#&&&&&&&@@@&#%%%#%##&&&&@@@@@&##@@@@&@&**+--------------------------------------------------------------
...---------+++------------.-----------------+++*%#####&##&##&&&%+-----+--.-----++-------+-++.-.+-- -+.+--+--**+*+--+*+++-+++++---+-.-++*%+-+---%&++***+*#*+***+**++*%%**+-----. ..-*%##########&&&&&&&&@@@@##%%#####&&&&&@@@@@@@@@@&##%#@@@##&@@@@&@@@@&%%#&@&###############&##&&&&&&&&&####&&&&&&&&&###%%%#############%*%%#%*%******%%%%#%%####&&&&&&&&&@&&####&&&&##%#########%%##&&#&&&&&@@&#%%###&&&&#&@@@@@&&&@@@&&@%%++------------------------------------------------------------+
...-------------------.-----------------------+++*%%%#########&%*++--++--..-----+-+--+-++++++.----++-.-*++--.+*+-%+++*%+--+++-++-....-+****++-++****%+%******%**%****+--... ....-..+++%#%########&&&&&&&&@@@&%%#######&&&&&&@@@@@@@@@@@&%%@@&@&#&@@&%%&&&#**%&&@&#&#######&#&&&&&####&####&######&&&&&&&&&&&&&###&&&##&&&&&#%%%#%%%**%***%%%#%%%#%#&&&&&&&@&&&&&###&&&&###%%######%%%%#&&&##&&&@@@##%%##&&&&##@&&@@@&&@@@@&@#%*++-----------------------------------------------------------+
...------.----------.-.---.-.------------------+++*%%%%%#######+++-+---.--------...-..---+--.-----.+*+--++-+--++*%+++*+++.-+---. ..-.-**+*****+**-+****+**++++%*++-.. .------++++++*%+##%########&&&&&&&&@@&%%%%#######&&&&&@@@@@&&&@&&#%#@@@@@%#@&**%#&&**%#&&@@&&#######&&&&&&&&#########&#####&&@@@@&&&###%%%#####%##&&&&###%%%*%%***%%##*%%%%#&&#&&&&&@&&&&&##&&&&###%%####%%%%%%##&&&&&&&@@&#%%#&&#&&##&&&@@@&@@@@@@&%%++++----------------------------------------------------------
...----------------..---------------------------++++***%%%%###+**+++---.------------+-------.----....-**-+-++--%*+-*+---.-++-....--.--+*+*#%+*%+**%%+--+**+++++-....-++++*+-*-+---+--.+*##%%#########&&&&&@@&%**%%#######&&&&@@&&@&&&####%*&@&@@##&&#*#@@@#%%%&@&&@@&#####&&&&&&&&&&#########&#&#&&&&&&&&@&&&&###%%####%##&&&&##%%%%%%***%##%**%%%#&&##&&#&@&&&&&##&&@&%##%%%%##%%%%%#####&&&&@&@&###&&#####&&#&@@@@@@@@@@&##%++++---------------------------------------------------------
....---------------------------------------------+++++**%%%%%%--**--++.-.---------.....+--------..... .++*++--.---++-++--.. . .--.-.-.++---+++%%%%%*.+%&@*+-....+*+*+-++-+--*++--+-.--++-*##%#######&&&&&&@@&#%**%%%%%#&&&&&&&&&&&&&##%%%%*#@@@@@@#%&@@%+#%&@&###&@&&&&##&&#&&#&&&&&&&&##########&&&&&&&&&&&&&&&&&&&#%#####&&&&@@&##%%%%%***%#%***%%%%&&######&@&&&&#&&&@&###%%%%#%%%%%%#####&&&&&&&&###&#######&&@@@@@@@@@@&#&#*+++++++-----------------------------------------------------
...----------------------.-----------------------++++++++***%*++-*-++------------.....-.---.++++..----...----+++++++-. ..++-......-*+-+%%**#&#--*#&&&-..-****%*%.-.+.+-*+..+*+.--+-.-+%&&%%######&&#&&&&&#%%%%%%%#####&&&&&#&&###%%%%%%%&@@@@@&#@@@@@#*%%##%#%#@@&&&&#&&&####&&&&&&&#########%%#####&&&&&&&&&&&&@&&&#&&&&&&&&&&&&#%%%****%##%***%%%%#&&&##&#&&&&&&#&&&@&##&##%%#%%%*%%#####&&&@@@&&##&#######&&@&@@@@@@@@@@###%++++++++----------------------------------------------------
....--------------------------------+------------+++++++++++**--++-----.----.-.--..-----+..-.-*+.--------.................------...-.---**%#*%&&*++%&&@&&*-+++-.%*+*%+++-+**-++--+%*+--++.-%*%#######&##&&&&#%*%%%%%##%##########%##%%***%*#&@@@@&#@@@&&#%%*%##%%#@&&&&%&@&&&&###&&&&&&&&########%%%%###&&&&&######&&&&&&&&@&&&&&&&&##%%%*+*%##*****%%*%#####&###&&&##&&&@&%#####%%%%%%%%#####&&&@&&&&#########&&&&&@@@@@@@@&###%++++++++-+----------------------------------------+--------
....----------------.-------------------------+--+++++++++++++------+-----+..--.-----.---..-+++---.------.------.....---..------..--.-----%%*#%++%&####&&**++++*++-.-+*-+*+**++-++++++++***##*###########&&&#*%%%%%%%%%%###########%%%%%***#&@@@@@@##@&@@#&&##%%%%*&@#&@&%&@@&&&#&#&###&&&&########%%%%%###&&&&&&&&###%#&&&&&&&&&@&&####%%%%**%##*****%%*%#####&&###&&&&&&@@&%%##%%%%%%%##%#####&&&&&&&&#########&&&&@@@@@@@@@&&##%*+++++++++-------------------------------------+++++-------
...-------------------------.---------+----------++++++++++-++-----+-.---.--.-..--.--+....----..--.-+-+.----+-+-.------..--+--------.-+-..-+---%##%*%%#&#+%*-++-++-+**+++---.. ..-%&@%%%#########&&&#*%%%*%%%%%%######%######%%%%**#&@@@@@@#%@&@###+*%%****%@&&&&#&@@&&&&&&&####&&&#####%##%%#%%%##&&&@@@@@&#%%*%##&&&&&&@@&&###%%%%**%##******%*%#%#&&&&&&&&&&&&&&@@#%%#%%%##%%%#%#####&&&&&&&###%##%##&&&#@@@@@@@@@@&###%*++++++++-------------------------------------+++++-------
..-----------------------------------------------+++++++++++++-----+------.---..--.--+-..--+-..--+----------++-.-+-.-+-.--------------*+--..-+*%%++*%%%#%+%+*+-+*+++--. .. .-.------.....-%%%%%%%%%#####&&%*****%%%%%%%%%#%%%#####%%%%%**%&@@@@@&%*&@%*#&%++*#%***&@&@###@@&&&&&&&######&&#####%%#####%%#&&@@@@@@@@&&#%%%######&&&&&###%%%***%##%*******%#&&&&&&&&&&&@@&&&@@&###%%%##%%%#%%%###&&&&&&###%##%##&&&#&@@@@@@@@&###%*+++++++++---------------------------------+++++++--------
-------------------------------------------------++++++++++++++--+---++---------.....*-.--+.-..-------.-+-++-+..--.++-..-----+++----.--**+-**+**++****#%*+++**++.. ..---++-+*-++---+---+--**%%%%#%%%####&&%**********%%%%%%%#####%#%%%#**%&&@@@&%%#@#@&&@&&@%++*%@@@&##%&@@&###&&&&##%%%#&&####%%###&&#&&&&&&&@@@@@@@&&###&&###&&&&&###%%%***%##%%****%%%###########&&&&&&&@&##%%%%%#%%%%%%%##&&&&&&&##%#%%##&&##&&@@@@@@@@&###%++++++++++---------------------------------++++++--------
----------+++--------------------------------------++++-+++++-++-+-----...+++---.--.-+..--+--...-+----.--+++-.-+--++-..+---++++--....---+*++-.-+++***%%%*-*+--......---+------++++--+++--++*%&+*############&#****+********%%%%######%%%%%*+*#&@&@&#%#@@@&&#&@@%+++*@@@&##%#@@&####&&&&###%%%#&####%##%%########&&&&&@@@@@&&&#&&##&&&&&#####%%%%%####%%*%*%%%*%%#%######&&&&&&&@@&&###%%%#%%%%###&&&&&&&&#%%#%##&&##&&@@@@@@@@&&&#%%*+++++++++---------------------------------++++++--------
---------++----+------------------------------------++-----++++-------..-..-+-----..-*-.---+-.------..--+++-.----+--..------...-.-.-+---...+- .-+**%%*%*+... .---+-+-++-.---------+-++++-+*#&#**%#####%#####&#*+************%%%######%%%***++%@@@&&@%*#&@@&%%#@@&%+++*@@&&@%%%&@&#####&&&&##%%%%#&####%%%%%#########&&&&&&&&&&&@&&&##&&&&&#####%%***%####%***%%%%*%%%######&&&&&&&@@&&&###%####%%###&&&&&&&&#%####&##&&&@&@@@@@@@&@##%%**++++++++++-----+--------------------------------------
--------+++++----------------------------------------+-----+++++----------------------..--++..+----...+--++.---+*+-.-+--+--.-----+--.-+--..%+.. -**+*%+*+.-.-++-------------------+++++---+*&#-%%%####%%#####%*++++++++*****%%%#%%#%%%%%***++%@&@&&&%+#&#&&%+%@@&**++*@@&&@#%%#@@&%%#####&&&#%%*%###%######%%#####&&&&&&&&&&&&#&&&&&#&&&&&&#####%%****%####%**********%%%%%##&#&&&&&@@&&&&##%##%%%##&&&&&&&@&#%###&###&&&@&@@@@@@@@##%%***+++++++++++++++++++++--------------------------------
----------------+-+----------------------------------------++++++-----....-+-----.---..-+-+*...---..-+--+-..-+++++..++-..---+*-+.-+--++-..-.-+. -++%%%*-++++*+------+++-+-------++-++-.--+*&#+%%%%####%#####%*+++++++++++***%%%%%%##%%%****+%@@@&#%+#@#&#%+#@@&%%*+*&@@@&#&%*&@%%%######&&###%**%%%##########&&&&&&&&&&&&&&&####&##&&&&&&&#######%%***%%###%%%%####%%%%%%%%###&#&&&@@@@@&&#####%%%#&&&&&&&@&#%#&#####&&&@@@@@@@@@#&%#***+++++++++++++++++++++--------------------------------
-------------+----------+++----------------------------------+*-------.....---+----...-++-**.-----.--+--..-+-+++--++-..---+--+-*++-+--++..-..-+.. -+***%+++*+-+-+++--+++-+--++----+--------*%+*%###%%#%%%#####%++++++++++***%%%%%%%%#%%%%%**+%&@&@#%#*&@#@&#*%&&&#%*+*&@@@@@&#%#@%%*%%###########%%%%%%#####&&&&&&&&&&&&&&&&&&&#######&&&&&&&&&##%%%%%%**%%#&&&#%%%%%##%%%%%%%#####&&&&@@@@@@&####%%%#&##&&&@&&#%##%####&&&@@@@@@@&&&%#****++++++++++++++++++++++------------------------------
-------------++----++-++++++-------------------------------+-++--------. .-*-----....-++--+-..-.---+-+-...-+---.--+-.---+-+----++-+--++-..-...---..-+***+++++++++++-++-++++*+---.+-----++-+*#*+%######%%%##%##%+++++++++++****%%%%%%%%#%%*****%@&&%#%*#@&@@#*#&@@&%*+*&@@#%%#%%@%%%*%#######%%%%#######&&&&&&&&&&&&&###&&&&&##########&&&&&&&&&###%%%%***%%#&&&&#%%%%##%%###%%%%##&&##&&@@@@@&&&&#####&##&&&&&###%%##%&@@&&@&&@@@&##%*****++++++++++++++++++++++-----------------------------
---------------++--+++--+++-----------------------++------++++-------...---+++++-----+++--+-.....-..-...-+---..---.-+---.-.+---+-++--++-.--....--.. -+**++-+*+***+++-++*+*++----+++-.++-+++*#+*&&&#####%%####&%++++++++++*****%%%%%%%%#%%*%%*%%#@&%#**%&&&@%%%&@&&*++*&@&%*#@%%*&%****#%######%%%%%%%#####################&&&####%%#####&&&&&###&&###%%%%***%##&&&##%%**#%%%##%%%%##&&&##&&@@@@@@@&&&###&##&#&&###%%%%&@@@#%&@&@@@&&#*%****++++++++++++++++++++++---------------+-------------
----------------+++++++-++++-----------------------++-----+--++-------.-+-++++++--++---++-+-.---.... ..-.-....--..-++-++-----+++*-. .+-..--.....+-...-+*-++***++++++---+-++++++-++---+++++++#*%&&&#####%%###&&%++++++++++++******%%%%%##%%%%%%%*#@&#%+*#&%&%%*&&&&*+**&&*%%%*%#*#%%*++*%%###%%##%%%%%%%%%%%%%%%%*%%%%%#######&##########&&&&&&&#######%%%%%%%%%##&###%%**%%%###%%%%#&#&@&&&&&&@@@@@@&&#######&&###%%%%@@@&*#@@@@&@&#%%%****++++++++++++++++++++++++---------+++++-------------
--+---------------+++++++++++-------------------++++++++++-------.------++%+++++--++++-+-++-++-.-...-----...--..-+-----+-++++-......-+-.----.--.-+-...+*+-++**+++++----++++++-+-----+--+++-*#%%&&&####%%####&#%*+++++++++++******%%%%##%#%%%*****%&&%+**#&#%%*&&&@#***#&%*%%%%%%%*%%*++%%*#&#%%#%%%%***********%*****%%#########%#&######&&&############%%%**%%%##&&&#######%###%%%%%##&&&&&&&&&&@@@@@&&##%###&&#%#%*#&&#%%&@@@@@&@&#%%%*****+++++++++++++++++++++++----++-++++++++------------
------------------+-+++++++-----------------------++++++++----------+--.+##-+++++--+++---++-+---...----+-+--...++-++-.--+++-...--+-+++-.-------..-*-...+-+++++**+*++++*+**++-++++++-+++++-+%#%*&@&&&&#%%%#####%*+++++++++********%%%%%%###%*%***+*+%&**%%&@&**#&#&%%%*###%%##%%#%*%*+**%##%#&#%%#%%%%*****************%%###########&####%##&&#############%%%***%%%##&&&&&#########%%%###&@&&@@&#&&@@&@@&##%##&&#%#%*&&#*%&##&@@@@&&#%%%%*****+++++++++++++++++++++++++++++++++++++------------
-----..----------+-----------------------------------++++-*------.-+++---*%.---++*++-----------..-----.-++-..++.*-++---+-....---+--+++------------+*...--++*+-*-++++++++++-++++++++--+**++-*#%*#@&&#&##%%%####%*+++++++++*******%%%%%%%%%#%%%***++*+*#%++*#&&*%&%@%%#*&%###%*%%%%%%*+*%*#&##&&#%%%%%%****%%%%%%*********%##%#######&&#####%##&####%%###%%###%%%%%%%%%%##%#############%%%######&&##&&@&&&###%#&&####&&#*%@#&&%@@&#%%%%%******+++++++++++++++++++++++++++++++++++++-----------
------------------------------------------------+++++++++-+----+-.-++-...++.-.-----+--------.........---+-.----.+-----....---+-----+++--+---------.+*-..+++---+**++*+--++***+-+++*****++-++%%*+%@&#####%%%##&##*+++++++++********%%%%%%%%%%*%****+****%%+++*%**#&&#%#*#%%%%***##&&&**+**%#&&&#&#%%%%%%**%%%%####%**+++***%%%%#%%%###&&&&&&##########%%##%%%%%%%%%%%%%%%%%%#####&&&&&&&&###%%%%%%#&###&@&#&##%##&#%@@##%%#@&&&#&@@@#%%%%%%*****+++++++++++++++++++++++++++++++++++++-----------
+----------------------------------------------+++--+++++-++---------....--.-.------++.-..-.......---.-+--+++-+--++-. ..-+---------+++--+--------...+*-+*..-.--+***+++*++*+++++-****+*++++***%*#@&##%%%%%%#####%++++++++++*******%%%*%%%%%%%**%****+*%***++++**%&@#*%*%%%%&&#%*#%***%%***%#&&&&&&#%%%%%%%%%#%######%*****%%%%%#%%%###&&&&&&&##%%##&&&&######%%%%%**%%%%%%%%%%%%%#####&#&&&##%%%%%%#&###&&&&#########%%%######%##@@#%%%%%%*****+++++++++++++++++++++++++++++++++++++-----------
------------------------------------------------+--++++++-++--+----......-+-....-.-+--.----......----++-+++++---+-....------+-----+++--++---------... ..--...........---+++*++*+++--++++++++##*#@&###%#%%######%*++++++++++**********%%%%%%%%%%**%%++*****#*--*%%###*%%%**%*%&*#*+***%#%%%##&&@&&##%%%%%%##%#%%#####%%%%%%%%%%%%%%%###&##&&&&&#%%%%#&&&&&&&&###%%***********%%%%%%%#####&&&&&##%#%%#&&##&&&#####&#%#&####&&#&##&%#@#%%%%%%%****++++++++++++++++++++++++++++++++++++++----------
-------------------------------------------------+-++++++---.++-.........-----.-.---- .-..........--+--+++++-+--....--------+-----+-+--+--------.......+.................+%#*-*+++--+--++-++*#%%&###########&&#%*++++++++++******+*****%%%%%%%*%*#%+++++**%%%+-+++*###%%*-*%%#%%***++*%%####%#&@&&#%******%%##%%%#####%%%%%%%%%%%%%%#%%#&#&&#&&##%**%%#############%*%%*******%%###%#%#%%%###&&&&##%%#&&&@&&#####%#%#&&&&&&&#%&&%#@@#%%%%%%%*****++++++++++++++++++++++--++++++++++++-----------
--------------------------------------------------+++++++---.---.........-..-+..---......-........----**+++-++-...--------+--+-+++-----+-----............-................+%*+++++-.------+*%##%########%%###&##%***++++++*************%%%****%**#*+**+++***%%+-++*+***%%+*%%%*%+*****%*%##&#%#&&&&#%******%%##%%%%####%%%%%%%%%%%%%##%%#&&&##&&&#%*%*%%##########&&######%%%%%*%%%####%%%**%####&&&&&#&&&@@&&&#%###*%@@&#&#%%#&%%&@#%%%%%%%******++++++++++++++++++------+----+++++++----------
---------------------------------------------------+++++--++++-.-.-........-------..----..--.....--.-+-++--+-...----------+--++++++-------....... . ...............-..+**++++-.---+--++*&&%#&&&&&###%####&&%*****+++++********+************##****+++-+****-+++**++*%%%****%*%******%%%#&#*%#&&&#%***%%**%###%%%####%%%#%%%%%%%%%%#%*%&&&###&&##%%*%%%%%%%###&&&&@@@@&&#####%%%%%%%###%%%%%%##&&&@@&&&&&&%%%#######&&#&#%%#**@&@#%%%%%%%******+++++++++++++++++-------------+++++-----------
-----------------------------------------------------+++--+-+-.----......----.+--...--.--...+-------+----++-..------.-----+++-++++--+*.............-+. ...............-..-..-+++--+--------*#@&%*&&&#########&&&#*****++++********************+%#******+++++++++*++++*++++*#%**%******+*%%%##&#%%##&&&%%%%%%%%%#&########%%###%%%%%%%%%%%**#&&###&&&#%%%%%%%%##&&&&&&&&&&&&&&&&#%%*****%%%#####&#%#%%%###%#%%##&##&&#%%&@&&#%&#%%&&@&%%%%%%%******+++++++++++++++------------------+------------
-------------------------------------------------------+-------+---...--.--.-..-.....-.--.---+-++.---*+--+-.-------------+++--+++++-------+-..++-...+*.................++++-.-+-+**+--...-.-+#%%%##&&########&&&#*****+++++***********+********#%********++++-+%***++++++--+*%**********%%%#########&&@&&&&&&&&&&&&&&&###%%%###%%%%%%%%%%***#&&###&&&&&#####&&&&&&&&&#&&&&&&##&&&&######*+++*%#%##**##&####&&&#&&&#&%%%%&&@#%#&#%#&&&#%%%%%%******+++++++++++++---------------------------------
---------------------------------------------------------.-+--+--+-..---.---.--...----. .-...-+-..+*-----..---+-++-----------+++++-------++--+---..--*-............--+*%%*%%*-.-++++------..**+-%##&&&&&&####&&&#%****+*++***********+++******%%**%*******++++%%*%**++---+-++*%**%++++*%%%%#########&&#&&####&&&&&&&&&&&###%%###%%%%%%%%%****%&&#%##&&&&&&&&&&##############&&####&&&&&&#%%***+#%*%%%&#&#&&&&&&&&#*&%%%%#&&####%%%&&&#%%%%%%*******++++++++++++---------------+-----------------
--------------------------------------------------------..-------+-.------+--....-+++-...--.-.-..--*+---...-+++-------------++++*-.---.-----------..-+..--. .-....%%****%%*%%%+-++---------.-*+-*%&&&&&&&###&&&&&%****+***++********+*****+++%#%**********++-*%**%%*+++++-----+**#%#%*+***%##########&&#&&&&&&#&&&&&&&&&&&&######%%%%%%%%%**%*#&&&###&&&&&&#####&&&&&#########&#&####&&&####%%#***%%%&&##&&&#&&%%%%%%%##%&&#&####%#@@&%%%%%%******+++++++++++++---------+++++++-----------------
-------------------------------------------------------..-+---.-+-.--...--+-.-..-.---+*+-++..-..++-+++-.---++--.---++++----++**+---..-----+-------.-+-...-. .----*#%%***%%%%%%%+++-----------+--+#&&&&&&&&###&&&&#****+++++****************+*%%************++%%**%%**+++----++-++*#%%**%***%########%#&&###&&&&&&&&&&&&&&&&&######%#%%%%%%%**%*#&&&&###%#######&&&&##&&#####&&&&&&&&&#&&##%*%#*****%%%&&&&#%%%%*#&*+*%*%%&&%&#&&&##&&&#%%%%%******++++++++++++--------++++++++++----------------
-------------------------------------------------------..-----.---.-------*....-.---++++---.+-.+-*--+-..+++-+-.----------++-**--.--.-----+++-----.-+.--+-.-...-.+####%***%%%%*%*++--------+++-.-*##&&&&&&&&#&&&&&#%****++++*****************%*++********+**+*&*****%**+++-+****+++*%#%+*%***%#####%%%%#&&#%%%%%%#%%##&&&&&&&&&####%##%%%%%%%**%%#&&##&######&&#&####%%%%######&&&&@&&&&&&&&##***%%%*+%####%%%%%#%%%%%#*%%&##&&###%***%#%%%%%*******+++++++++++--------+++++++++-----------------
--------------------------------------+---+-+--------------..-.--.--------#-.. ...-++-+--++--.-+-----..-+-+-+-++--+--++---+++-..--------++++---+-.-+---++.-....-.%#%#%**%%%%%%*%++---+---++*---+&&&&&&&&&&&##&&&&&%*****++++*************+*%%++**+***%***+++##*%******+++-%*++++++++**%**+***%##&##%%%%%&&#%%%%%%##%####&###&&&###%%%#%%%%%%%***%#&&&&&&&&&&#&&&&@@&&&&########&&&&&&&&&&&&&%#**#%***#%%%#%%%%%%%%#%#%%#%%#&&&#&&#&&##&#%%%%*******++++++++++++-+----+++++++++------------------
---------------------------------------+--+++-++-----------....-----------*+......+---+*-+*-.--**-+-.----+-+++-+-----+*+--*+------.----+++++--+++-*+..-+-++---..%%%%%%%%%%%%%%%%*---+---+++*+++%&&&&&@@@@&&&#&&&&&%+****++***********************+******+*-%#*%%*****+++-*%**+++++++++**+*+***%#####%%%*%#&&#######%%##########&###%%%#%%#%%%%*%%#&&#&&&&&&&&&&#####&&&&&&&&#####&&###&&&##&&#%%%%*+%#%%%%%%%%##&###%%#%%***%**%&&&#&##&%%%%*******++++++++++++++----++++++++-------------------
---------------------------------+++++++++++++++-----------...----.------.*-.-...---...++++.-+.-*--.---++--+++++-----+*-++---.-.---.---++**++++*++%+-.-+--+---+%####%%#%%%%#%%%%*-++++--++++--*##&&&&&&&@@&&&&#&&&#**********************%*+*+++****%***++*#**%*****+++-+%****++++++++**++*****%######%%**%###%%******%%############%%%%%%#%##%%%%%######&&&&#%*****%####&&&#&###%###%#&&&&####%**%*+%%*%##**%%&&%%%%%%%%#&###%**##%#%%&#%%%*******+++++++++++++-----+++++++--------------------
---------------------------+++++++++++++++++++++++---------+-......-----..++-*..+++- .-++++.-*-+--.-+-----++++++++--+++++*+-.......---++********+****+--+-+*%%######&#%%#%%###%**+%%++---++%+-%&&&&@##@@&&@&&&&&&&#******++*************%*+*************++#%*%%******++-*%*%*++**+*+++++*+***+**%########%*%***********%%%%%#%%######%%%%%########%########%%******+++*%#########%%###%#&&#####%**%%#%##%%%%##%&#%#&&@&&&&@@&&&#%**######%%%*******++++++++++++++----+-+-+----------------------
----------------------------++++-+++++++++++++-++++---+-.-+-. ...--.-----.+*-*----+*.----++--++-+..--++.-+-+*++++++--++++----.......--++*****%*++*-++%#+++**####%##&##%%#%%%%%%%**%+++--+*%*++#&&&&&%&@@&&@&#&&&##%****+++++*****++*%%*+************+++#%**%**%%***+++%**%*++*+++++++++*++*****%###%%###%%%%%%**%*+**%%%%%%%%#######%%%%#%######%%%%%%%%%%%%%%%%%%%*++*%%%%#####%%%##%##&##%##*%%*#%%%******%###&&&@@@@@@@@@@@&&%*%%##&%%%%*****+++++++++-+-++--------------------------------
---------------------------+++++++++++++++**+++++++++**--............----.+%++--..-+---+++--+----+-+---+-++++++++*+++++++---....-+**%+***+*%%%+-*%----+%%++%&####&&####%#%%%%%%%**+-----+**%*+#####%%&#@@&#&&&&&&#%*++++++++++++**%#%***%**********+++*#**%%******++-**+***+++++++++++++++**%***%###%%%%%%%%%%%%%%+***%%%%%%%#####&####%#%%######%%%%%%%%%%%%%%%%%%%%%**%%%%%%%#%**%%%%%%&##%###*%%***%%%#&&&&&&&&&&@@@@@@@@@@&@@#%%%##%%%%*****+++++++++---+---------------------------------
----------------------------+++++++++++++++**+++++****+--....----...-----.-%------...-+--..-*+.--+-**+--+-++++++++++++**+------+%%%%++****%#%+-+%*++**+-+*+*############%%#%%%%%**++-+--+*##*+#####%###&@@@#%#&@@&**%*++++++++**%#%****************++*%***%*****+++-+*+****+++++++++++++++*******%%###%%%%%%#%%%%%******%%%%%%####&######&%%##&#########%%#%%%##%**%%#%%%%%**%%%#%%%%%%**####%%%%%#%%%##&&#&&&&&@&&&&&&@&&@@@@@@@&###%%%%%%****++++++++----+---------------------------------
---------------------------+++++***++***+*+*%*******++++--..-..----.-------++.+---..-+--..---------+*+*-++++++++++-++++++-..-+%%%#%--++**%#%+-*++.--+%%%+-**#&&#&###&&&&##%##%#%*%**+--+++*+--%###%%####@@@@@&%#&@@*++%%%%*%%%%%%**+***%**********+++*#**%***%***++--**+*****+++++++-+**********+**%%%%%%%%**%#%%**%***+**%%%%%##%#&#######&#%%###%%%%%%%%%***%%%##%**%%%***%**%%%#%**%%**%#&&###%#####&&&&&&&&&&&&&&&&&&&&&&@@@@@@@&@@#%%%%%***++++++++---------------------------------------
---------------------------+++++****%*******%*%%***++*+--+------------------+-.+--+--....+*+.*+-----*+--+++--++++-+++++----.-%%%#%--++++*%%*+*+...---+%##+.*&&&&&&&&&#&&&#%##%%%%**%-+*++++*+.*###%#####@@@@##@#++++*%%%%%*++++**************+++*#*+*%**%%%+*++++%+*****+++++++++*%**%%**********%%%%%*%**%###%%%*%***%%%%%#%*%########&&####%%%%%%%%%%%****%%%%%%%%%%%%%%*%%%%%***%#**%#&&######&&&&&&&&&&&&&&#&&&&&####&@@@@@@@&&@&%%%%****++++++++++------------------------------------
-----------.---------------++++++****%%**%*%*********%%---....-..-------.--.++..---..-...---+.-...-.+*-*+*---+++++++++------*%%#%--+++******%*.---++*%*%%#*+#&##&&&&#&&&###%%#%#%**%%*++++**-.*##%##&&##&@@@@##++++++++++++*****************++*#*+*****%**+*%-+%**%%%****+++*++************%%%****%****%**%######%***%%*%%##%%%#%############%%%%%%%%%%%%%%%%%%%#%%%####%%*%#%%%***%#%%%%##&&&&&&&&&@&#&&@@@@@&&&&&&&##&&&@@@@@@@&&#%%%****+++++++++------+------------------------------
--.-----.--..----------------++++***************%%%%%%%------....-----..----++-+--.---..-+-+++---+--.**+-*-+--+++++++-+----%%%#%+--++***%**##-...----*%####+%&&&#&&#&&&#%##%%#%#%*%*+++++*%*++%#%###&#%##@@@@&%*+++*+++***+***********+++**++*%*+******%****@++*+*%%%%%*+++****%%*%%%*******%%*****%%%*****%%%%####%%%%%%%%#%%%##%%%%%%%####%%%%%%%%%%***%%%##%%*%%%%#####%%%%%%%****##%%###&&&&#&&&&&&&&&@@&@@&@@@@@&&&&&@@@@@@@@&@@#%%%****++++++++++-+---------------------------------
---.-.--......--------+--------++++***%%%%%%%%%%%%%%*%%+..------.-----..---..*---.- .+.+--------*+-+--++++--++++++**+-----%%%#%+++-+++*%%###+.-++****++++%%%%&&#&&##&##%##%%%%%#%***---++*&*--%*%#%#&&&#%&&&@@@@@%%++++*++++**-+**+*+***+++++++*%*+*******%*+*%#&**++***%%%*++**%%%%%%%%%%%%%%**********%******%%%%%#####%%##%%##%###%#########%%%%%%**%%%*%%%%%%##%%#########%%%%%%%%***%####&&&&###&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@#%%****++++++++++++---------------------------------
--.............------------------+***+***%%%%%%%%%%%%%%*.---.-+..--.-----....++++.. +--+.--+--+*+.+++++-++-+++-+++**++---*%*%#+++-++++%*%#*+----+*****%*+-+%#&&####&##%%#####%%%%**------%%+-+*%##%##&&#%#@@&&&@@@%#*+++++++++**-+**++***++++++*%++********#%***#&#%%%%*++*%#%**%%##%%%*%%%%**%**++++***+*******%%%**%#%#########&####&&&&####%%%%%%%%%%%****%%%%%*%####&&@&&####%%%%%####%###&#&###%%%%###########&&#&&&&&##&&&@&&@@@@@@@@#%%****+++++++++-----------------------------------
-................-----------------+++*****%******%%%%%%*.----+-.-+-------.--.-+-----*.**--.-+++-.-++--+++-++-----+++---.+%*%&*+---+++*##&*.---+++*%%%***%+-+#&######%##########%%%*----++#*+**#@&&##&###%&&&&@@@@###++++++++++**-++++++++++++%%++++*%****+%#%#&###&#&&&#**+%##%%#####%%%%%%*****++++++*++*+****%%%****%%%########&###&&&&##%%%%%%*%**%%%%*********%%#&&@@&&&&&###%%%%%%########&###%%%%%%%#########&&#######&&@&&&&@@@@@&@&#%%%***++++++++-----------------------------------
..................------------------+++++***%***********-------++-----.....--.-+.--++.-+-.--++...-+++++++---------+++---**%&*----+***####%.---...--++%%***+-*&##############&&#%%#*-++-+*#*-+*#@&###&#&&###@&%#@@@&@&%+++++++-++**++++++++++%%*++**+******++%*%#&&##&&@&&&&#%####%%%%##%%#%%%%****++++++*++******%%%%***%%%%%#############%%%####%%%%**%%%%%%%%%%###&&&&&####&&&####%%%%%%%%%###&###%%%%%%%%%######&###########&&&&#&@@@@@&&#%%%%***++++++++--+-------------------------------
...................--.-------------++++++++++*++++-+++++-.----++-----.--...--.+--.-+---.-----..--+++--++----++-+--++--.+%%#%++-++++*&&###*.-...-+++---+++*%-*&####&#%####&&&&&&#%#*-++-+*#*--*%#&@&&%#@&#%#&@%*@#&##%++++--+++++*******%%%%*++*********++++##%*%&###&&&&&&########%%#%%##%%%%%******************%%%#%##&&&&&&&&##%%%%%%%##%#%%%******%%%%%#####&&&&&##%%%%%%%#######%%%##%%######%%%****%**%%####&########&&###&&##&&&&&@&&#%%%****+++++++--+-------------------------------
.......................--------++---++++++++--+----++--++.--+++-+----.-..--...-+.-..-----... -+-+-+-++++.-++*+++-+++++-**%*+++-++**#&####-.--+++**%%%%+-+**++######%#&&&&#&&&&&&##*+-*%+%%*.+**#&#&&&#&#%%%%@@@&%#@@&#@#%#*+--+++***++**%%%%**+++****+****++++*%%%**#&#####&&&&#&&&##&&&&#%%##%%%****%%%%%***+**++***%%%#######%%#####%%%%%%#%%%%%%%*%%%#&&&&&&#&&&&&&##%%%%##%%**%####%%%*%%#%%######%%**++**+***%%#####%%%%#&&####&##&&&##&&#&&%%%****+++++++---------------------------------
.......................--------------+++++++++++++++---+-.--+--------..---.....+-.------....-++-+*--+++--++++-----++-++*%*+----+*%#&#####--++-----++%%#%+*++%&#####&&&##&&&&&&###%**-++%%+--*+*%&@@&@###%%%%&@@@#%#@&&&&#&+-++**++++-+++++++***++******++*++**+*%%**%#####&&&&&&&&&##&&&@@#%#&%%%%%%%%****+++++*++**%%%*%%***%%%%%%####%%*%%%%%%#%*##&@&&&&&&&&&&&&&#&#####%#%%%**%####%%%**%%%#######%%**++**++****%**%%%%**%#%###&##&&######&@#%%%****++++++---------------------------------
.......................---------------+++++++++++-------------+------...-.......*-.----..--.-+++*+--.--.+++++--------+*%+-++-++*#&######*.-++.--++++-+*%%+*+#&#&&#&&#&&&&&&&#####%+++-*%+*++***#&&@&&#%#%%%#@@@@@@#%#&&&@+++*+++++++++++++**+***+++++++-+%%***%%%%%%%####&&&&&&&@@&@&&&&&@&#&#%%%%%%**+++++++++++***%%%%%%%*****%%%#%%%%%%%%%%%###&&&###################%%%%%%*%**%#%%%%%%%%%%##&#####%%%*+-+%++++++**%%%#%%%%*%%#&#%&&####%#&@@#%%%***++++++---------------------------------
--......................------------++++*****+++-----------------------........--+---...--+-..----+--+.-+++*---+-++-.+%*-----**#&#####%+.-++-+++++****--*%+-#&&&#&&&&&&&&&########++-+***&%+**%#&&@&&%###%*%@@@@&@@&##&&*+++++++++++++++-+******+++++++%#%+**%#&&&&###%%%#######&@&@&&&&&&&#&#%%%%%******++++++********%%%%%%****%%%%%%%%%%%%%##&&&####%*%%%%%%%%%%%%**%*******%*+*%%#%%%%####&&&&###%%***+-*#++-+**%#%###%%*+**%%%%#####%%&&&@&%%%%**+++++++--------------------------------
..--....................----------------++++****+++++++++------------------...---+-..---*..++--.-+-.-.--++++-+---+*++*+-----%########%++*+----....--+*%*.+%*#&###&&&#&&&#&&######%+++*++%&*+%*####&&&%%#&#%%%&&@@@@@@%&@&**+++++++++++++++++*****+++****%#&%+++%%##&&#%%%%%%%%%%###&&&&##&&&##&%%#%**+++++*+++++*+***********%*****%%%***%%########%###%%%%***%%%%%%%%%%%%%********+*%*%%%####&#&&&###%%%%%*+-*%%*+-+**%%%%%%#*+****%%###%*%#&&@@#%%%**+++++++--------------------------------
...-....................-----------------++***+*****++++--------.---..---+--....-++---#++.-.-..+--+-----++-+-+--++***+----+*%########*%%*%%*+--+++*%##%&%.*%%###&&&##&&&&&&&###%%*+*++-.+#+*%%##%%&&%%%##&&#%#@&@@@@@@%#@#**+++++++++++++++++++*****%%***+*#&&#++*#%%###%%###%%##############&#@&##***%******++++**+*****%*********%*%%**%%##########%%%%##%%%%%%%%%%%%%%%*%%%***++++++***%%###&&&#####%**%#%%+--*%%*+-+******%*+*+***%%#%*%#&&&@@#%%%***++++++--------------------------------
.........................--------------++++++++++****++*+-------.--..-----+---.--.-*--+++-+--+++---..--+--------++**-----+*%%###&###%%##%%#&%***********&%.**#&&&##&&&&&&&&###%%%+*+--++**+*%%##%%%%#&%#%#&#%#@&#&@@@@%*@#*+++++*++++*+++++++++++++++*++++*%&@@&#%###&#############%%%%%%##%##&&@@#%#%%#%%%%%%*%%%%%%%%%%%%*******+***%##########%#%%%###%%********%%%%#####%%%*********%###############%**#%%%*+-+*&#+--++-+***++++***%%+*%&&&#@@#%%%***++++++--------------------------------
-...--...................--.------------++++++++++++++++---.----.-----+-----------.*+..+-.--++..-..----+--+-----+*++-----+####&######%#%-+*+++++++++++++*#+-#&&##&&&###&&####%%%%+-+-++-*+-*%%#%##%&&%#%&%%%%%&&@@&@@#@&*##*++++***++*++++++++++++++++*++++**#&@@@@&&&#&&&#%%%%%%%%%******%##%#&&&@&%###%%%%%##%%#%%######%%%%****%*****%%########%%%%%%%%%%*****%%%%%%**%%#####%%%*%****%%%##############%%%%%%%*+-+#&&*+++--+++----+***+*%###&&@@#%%%***+++++++-------------------------------
--...-...................--.-----------++++++**+++++++++----------.------.----+--..-+.-...--..+....---++-++-----+*++-----%##%#&######%%--+------+++++++++*%+###&&&###&&&&&#%%%%%+..--+--+++%%%###%%@@###%&##%%%@@&&@@@&&@%#*++++***+*++-+++++++++++++++++++-+%&@@@&&&#&&##%%%%%******+++++*%#%###&&&&###%%%%%***++++******************+*****%**%%%%%#%%%%%%%%%*%%%***+****+***%%%%%%***%%################%%%%##%%*%+-*%#&&&&%----++--++++*%##&&&@@@#%%%%**+++++++-------------------------------
.........................---.----------++++*****+++++++-----------.--------+..--.---+*..--..-....---.---++++----**+----+%###%&&#####%%+++-----------+++++-*#&&&&&#&&&&&##%%*%%%+.--.+-.-+-**%%##%*%&&&&#%%&#%##&@@@@@&#&#**+++*******++++*****+++++++++++--+%#&@&&&&&&&##%%*+++****++---++*%%%#%#&&###%%%#%%%%%%********++*******+***+++++********%%%%%%%%%**********%%###%*****%%%%%%####%%%##&#########%%*##%%%%%--+**%%%#%+----++***%%###&@@&&@#%%%%***++++++-------------------------------
..............-.--.-...-..--.-------------+++******+++++---.------.-------.......----+*-..-. .----------+++---+*+-+--.+&####&######%%%#%+-+-..---------+++%&&&&&&&&#%%%***%#%+---.+%---++%%**%%*%*#&####%&##&#%@@@&&&#*%*++***%%***+*******++++++++*+++*##&&###########%*+*****++-----++%%%%%#&&#%%%%%%%*******%%%%%**++++**++++++++++++++++++*****%*++++++++*%%%#%%%%##%%****%%%%%%%**%%###&&#######%%%%#%##%%*++*++++-+*+++--+%%#%%##&&@@@@@&%%%%***++++++-------------------------------
...-............------....--------------+++++********+++---------.-------...-...-...-.+*.. .---------.-++++--+++++---+#&##%#&#####%%%#%%%**%*-......----+++%&&&&&##**%*+**%%*++-..++----+*%**%****%&@&%#%%&&#%#@@&#%%#*+*%%%%***+*******+*+++++-++++%&&######%%%##%%*+***+++++-------*%%%%%#&&@#%%%%***+++++**********++**+++-----+++***+++******+++*+++*%%%%%*****%%%%%***%%%%%%%%%%%###&##########%%###%%%%%%%%%*+-----++*++*%%%%%%#&@@@@@&#%%%***++++++------------------------------
.................----+-.-----------------++++++**********+------.------------....-.--..-+ .---.--------+--+--+-+++-.+*#&&#%%######%%*+**++**%%%*****+-----++*%+#&#%***++**%%*+----+++-..-+++*%***+*%&&@&%#&@@###&@&&#&@***%&#%%***********++++++++**+%####%#%%%%%%***+++---+----------+*%%%*#&&@%%%******++++++++**++*%**+**+++++-+*****%**++++++++*****%%%%***********%%****%%%%%%***%%%#######%%#&&%*##&&##%%****%*++++*++*+*%########@@@@@@@&%%%***+++++------------------------------
.....................---------------------+++++**********+-----...----..----..--..-.-...-*+---.--------+--+----*+----*##&#%%###%###%+++*+---+++**%%#%%%%%*-++*+*#********%##*-----+++---*+*%*%***+%%&#&@&&&#%##@@@@@@@@@*+%@#%**%*******+++++--++*#*%###%##%%%%%**+-------------------+%%%*%&#&%%********++*+---++*++++*******%*************+++++****%%%%%**+++***+++++*******%%%**%%%%%%##%%#####&&#%%%%#######%*+-+%%*%%%*++**%#%&&&&&@@@@@@@&%*****+++++-----------------------------
..-...........-.....--...------------------+++******%%%%%%-----....---...--..--.-........-*-.---.-+-------+----++---+*##&#%%#######*-----------+++******%&%-++-+*%***%%%%%%*+----+++---*%++***%%+***%%##@@@###&@@@@@&&@@###*********++++++++---%#%##&##%%%**+++------++++----------+*%%**&@&%%****%***+-+++++++++*+++++++*********%*****%%%%%%%*****%%**%%%%***+++++-++****%%%%###%%%%%%%###&&##&##%*****%***%*+*%%%*%##&&&&###%%###&&&@@@@@@@#%***++++++----------------------------
......................-----------------------++++**%%*%%%#*-+---......-.--..-.--......-....++----.-----++++++-++--.-*%##&##%#######+------.---+++-++----+*&+---%**%***%%%**%*-+**%+----%*++**+%++%***%#&@@&#@&&#@@@&@@@%*****++++++++++++--*&##%%#%%%*+++------++**+---------.--+*%++&&#*********+---++++++++***++++++++++%%%%%%%%%%%%%%%***%****%%%#######%%**++++*%%%%%%##%%%***%%##&&&&#%%###%********+*#%##&&##&@@@&&&&##%%%#&&&&@@@@&%***+++++----------------------------
....-...............--------------------------++++**%******+----...---.----..-...-..........-+-.+--.----++++++*-..-*%###&##%#%####*---+++++--++++++------+**--+%**%%%*****%%+++--%++-+%%%*+****+%%%*%%%@@@@@&&&@@@@@@@&@@@@#+****+++++++++++++-+#&####%%**++++----++++-------**---++++**#@##@%***+*%***++++++++++++++**+++***+***%%%%%%*******%%%***%%####%%******%%***%%##%%%%%%%%%*****%%%#&#######%##+-+++**#%#&###&&@@@@@#&&&&@&#%#&&&&&&&@@&%***+++++---------------------------
.....-...............------------------------+++************-......--....-..--...-............+----+*-++--++**+-..+%%%##&##%#%###%+---*%*++++-----++++----+*--+#**%%%******%+--.-+*-+%%%#***%%+**%**###@@@@@@@@@&&&&&@@@@@%****++-+++++++-++--*#&##%%*****++--++---+----++****-+*+-%**##%&#%%%***%%%%%%%*%%****+++--++********%%%*%***%%***%%****%%%%%%%*******+++**%%%*****%%*+*********%%%####%%%#%+---+*%####%%%#&@&&&&&#&&#&&&&&#&@&&##&&&@&%***+++++--------------------------
.......-..............-----------------------++++++++***+***-.--..-.........-+..-........-......-++++++--+**%*--.+%%%%##&###%####++--*#%#%***%*++------++++%--+%&%%%%%**%%%%+----*++%%*%#*+*%+*%%**%&%%@@@@@&@@&&*#&#&&@&#%&@@#**++++++++++-+++++-+###%%****++++++++-.-+---++***%*+*+++&&%%****%%%%%%%#####%%%%%**++++++++++++*+*%%%*%**%%%***%%****%*****%%%%%%%%%**%%%%******************+****##%%%*%+++****%%###%%%&@@#%**%%%%###&&&&&&&&&&#&&&&&****+++++-------------------------
......................----.-----------------+++++---++++****+.-*--...--.....--....------..--......+*----+++**----**%%#%####%%##&*+--+**********%%%%*+--.-++#+.++&%%***%%%%%**--++%+*%*%##%+**%%%**%*#*#@@@@@@@@@@#%@@##&@&%%&#*@@@#+*++++**++++-+++++++%##%%%%***++++*++-+-+++--+**%#*+++-*&##%++++%%*****%%%%%%%**+*+***+++++-++++*%%%*%%%%%%%%%%**********************%%%%*++*****%******++++++++*%*****++*%%*%%%%%#%%#&#%+*%#%%###&&#&@@@@&&&&@@@@@&@@#%***+++++------------------------
.......................----------------.---+---++----++++*+++-.-.-..---.....-..-.--.--------....-..+*++++++%+--.+**#%#%####%%%##*+--+++----+++++*+***%%%+-+**.--*#%%%%%%#%**+-+-+++%*%%###****%*+***%%@@@@@@@@&&&@@@@##@#*#&#*#&@%%@@%++++**+*++++++++++++*##%%%%*****+++*-+*+**+++**+%**+---*#*%%%**+*%+++++*%%%%%***++++++-++++---+***%**%*%%%#%%*********%*************%%***++*****%%**++*+++++*+++*++++*++%****%**%%%%&##*+%##@@#%##&&&@@@@@@##&&@@@@@@@@%%***+++++-----------------------
........................--..----------------------+++++++++++---.--..-.....-..--------....---------.+%%*++%*--.-**%%%######%%%#*+-+--..---.----+++++++*%#++**----#########%#+++++-+%%%%%##%+*+**+***%#@@@@&%%##&@@@&#%**##*%&&@&%#&%+****++**++++++++++*%%####%***%*+-+*++*++++++**+%*+-+-*%%+%**#*+**+++++**%%%%%%%%%*****++++-+****%%***%%%%%*+++*++**%%%%%**********%%***+*++****%**+++++++*++++++++++*-**+****+%#%#&##%*#&#&@@&##%#@&@@@&#&&&##&&@@@@@@&%***+++++-----------------------
........................--------------------------++++++++++++-..-----...--.....-----.-----.---.-+-----*%%%+-.--%+%%%%%#####%#%+++---.-++---------------*+-**+*+%#%%#%%%%**%+---+.%%%%%%##*****+****#&@@@@&**%###%%##&%*%**#@@@@&%&%+***++***+++---+++*%%%%##%%***%+-**-+-*%+-+++***%*+++++%**%**%#%+%++++++++********%***++*++**********%%**++****++**%%%**++--+++*++*%******++**+**+++++++++*++++++++++++********%*%#&#%+*&####&&##%#&@&@&#%#&&%#&&@@@@&@@#***++++-----------------------
.........................------------------------++++++++++++++...++.---..-..-.---.-------.-.-...-------+++--.-**+%%%%%#####%#*++--+.-+***+-.----++++----*-++%#######%%***%%+.-+++#%@&&##******+***%@@%&@&#%**%***+%##*+*+#&&@@&@*#*****+***++++++++++*%%%%%%%%*+*%-+*+++-*#*---+*-+**+-..*+.+*--**%%%%***+++++**++++++**+**************%*+++**+++****%*************++%%***+++++++*++++++++++++++++++++-+-+*+*+**%%%*###%+-%######&##%##&&@&&%%&&&##@@@@&&@#**++++-----------------------
..........................---.---------------------+++++***+++*+..-+.-....-.-----...-------------.-----.-++----%*#%%%%%#####%%+---++--+*%*++--...---+-+--*+-+####%%%%%%##%%#++*#*%%#@@@@&&#%*&**++*#@@*#@&%%+***%*+***++*###@@@@@%%*******+++++++++++*%%%***%%**+*%+*++*+--*%-.-**-**++--*+--*+-..+-*%%%****+**+%*+++++***%%**********%**+++**+++***%%***%%%%%*%%%%%%*%**++++***+++++++*+++++++----++---+++++++**%%%##%%*++%#########%%%#&&##%*#&&#&@@@@@@#&@@@%*+++++----------------------
.........................-.-----------------------+++++*********-.----.--...-----...-----.---.-+--.....-++----++*&#%#%%#####%%+---+--++**+++++++----..---+%+%##%%*****%%%%%%++%*%%%&@&&@@%+&&%+%&@@@@+&@%%%*+***+-*----+%##@@@&&&*********+*+++++++***%%%*%%***+***+++----+**-+%-+*+++*%++-+*--...--%%*************************+++****+++++*+**%**%%%%%%%%##%%%%%****++++*********+++**+++-+-----+++---+++-+++*%*%###%*+++*%%##%%%#%***#@@##%+*#&&&#&&@@@&&@@@%**+++++---------------------
............................------------------------+++********%*---..--++-...--...---------------....----------+&&%%%%#####%*-..+-------.------++*%*-..--*%#%%****%%%%%%%%%+**+%%*&@@@@@@&&%#%&##@@&+@%**++++++-+-----%@&@&@&##*+********++++*++*+**%#**%%**++%%*++---+-+-+*%*-++-+**-+*.+--...-.+%****%********%%%%%*************++++++******%%%%%#%%%###%#%**+**+++************%%%*++++++++++++++--+--++*****##%%*+-++*+*##%#%%%*++%&@##%++%#&&&&&&@&&@@@@#**+++++---------------------
............................---------------------++--+++******%%%*..+------...---..----------------..-..+----+---%%%%%%#####*+-.--.-----++------++++*%+.-++%#%%***%%%**%%##%+*+*%%&@@@@@@@&&%#%*##&@@@@#&&*&**+++++++++-----*&@&@@@%++****++++++**++++***%%*%%**+*%**+-+++++++-+#*++*+-**++*+-+.....*-*%%%%%%%%%*+**+****************++++++++*****%%%%%%%*%***%*******++***********%%%%%*+++++++++++++---++++****+*%#%%*--+++%**%##%*%%**+%#&&#%+-*#&&#&&&@&&@@@#%*+++++---------------------
............................----------++-------+++--+++++*****%%%%- ---.-.....-...--------..---.---....-+.--++-.--#%%%%##%-.----......----.------+-+++%-.+-*%**%**%%%*%%###*-*+*%##&@@@&&#&%#-*#@@@@@@&%%++-+++++++-----+&&&@&@@@******+++++++++++*+**%%**%%***%*++++++++++***%+*+*--**-+*-++-...+%*%#%%%%%%%**%*******%%%%*******+++++--++****%%*%%%****++*++++**********%****%#%%%***+++++++++++++-++++****++*%%***+-++-*%%*%##%*%%%*+%###&&%-+#&##@&&&&@@@@@&%*+++++---------------------
.............................----------+++-------------+++**%%%%%%%+-..----.......--------.............*+--++-.---**+%%#+ ----......-..........--++--*#--+%%*%******%###%%*+-*&%*+*+*&@&@&@&##%-#@@@##&@&%*++++++++++-++--*&#&&&@&#+*%***+++++*++++*+++**%*#**%*******++++*****+***+*.-*+++++***---++%%%****%%%%%%#%%%%%%%%%*%%***+++++----++***%*%%%%***********++*++****%%%**%%%**%%**+-+*+**************%**+*%%**++--+*+++%%*%%##%%%%%%-+%%##&*-*%##&@@&&&&@@@&%*+++++---------------------
............................-.---------++--------------++++***%%%%###+---------------.-.....-----...-.-+---+------++-*##. +---...................------*%+%%*%%***%%%###%*#*+.%@&@@&%*#%@&@&##%%#@@&@#%#*+*-+++-++++---+--*####&&&%*+*%**+++++++++++++**%*%%+%**%%%%%**++****+-******.+*+-++%*+%*++*%##**%%%%%%**%%%#%%%***%%*****+++--..-++*%*%**%%%*+*%*******++*++*%%%%****%*+*****+++++***********++*******%%**++--++++*+*%***%##%*%%#%*+*%%&#--+*+*%#@@&&&@@@%**+++----------------------
..........................-...--------++++--------------+++****%%%###%----------------......--..--..-.-+-.-+-----.+*-*#+ +-.-.-.............--...-------*%%*****%%####%%*%%+-+###&&&@@#**#&&#*+*#&@@&&@@@+++-----++++--+++.*%%%####*%*+*%*+++++++++++++****%+*%+%%%%%%**++****-+%%%+*+-+*++++*%%***+%%#&****%%##%%%%******%%%*****+++------+*%****%%%*+*%%%%*****%%%%%%%%%%%%***********++++***+++++*****++*******++---++-+**+***++*%%##%###&#*+*#&%----+++*#&&&&@@%**++++---------------------
........................--.---------++++++++-------------+++++%%%%##%%*.-..---+------.....-.-------...-+..-*-----.+*-*% .-....-.-.............. ....--+%**%*%%#####%***%%+.*%#&&##@@@&%%%%*+-*##@@&%%&@%+++..----+-----++-*%%%%#&%*##**#**+++++-++++++******%**%%%%%***++***++*%%**+.--*+-+++++%#*+#%%&#%%***%%%####%%%%%%******+++-----+++*%***%%**+*%%%***%%%%%%%%%%%%%%%%%%%%******++--+*++++*********%%%****+----+--+***++*+++++*%%#%%&&@@#*%##*-.--++++***#&&%**++++---------------------
......................-...-----------+++++++------------++++*%%%##%%%**+-..-----------........---.--..++..++------++-*% -....-.............. ...-+%%***%###%%%***%%*+*@#&@&&&@@&&%%%+++%##@&@@&#&*++-...----....----*%*%###*%#%**%%+++-----++++*****+*%%%#**%*%%****++-+%%%*+----*---+*-+**--*--+#%%%**+***%%##%%%****+**+++--++++++*********+*%#%++%%%%%%%%%%%%#######%%**%*++*++++**+++**%*****%%%***+++--+++--++***+*++*****%%%#%*#&&&#&%***-.---+--++*%#%++++++++-------------------
......................-..------------++++++++----------+++**%%%#%%%**+++++-.---.------........--......-+-.+--..----+-+* -.-.--.............. ........-*%%**%##%%%%%%%%%%%+&@&#%#&@@@@#**-+-%#%&&&&@&#++-....---.. .+-.--***%%#%*%*%&#****+**+++++****%%%%####%%%*****%*++++***%+-----++--+*++-+*--..+%%+**********%%%***++*++++++++++++****+***%***%%+*%%%*%%%%%%%%%#%#%%%*%*%%*+++++****+**+******%%%**+++----+++--+++****+++*%%*%%%%%#%%%**%#%%%**-----+-+++*#%++++++++-------------------
......................--.---------++-+++++++++--+----++***%%%%%%%***+-++*+++----.-----........--......+++----------+.++.---.-.....-........ ....-+-..-%#%%*%%#%%%%%%%%%%%&%@&##&&@@@&%+++--##%&@@&@@%+-. . ...-+.++.. .+**%%%++*+&&%##*%*+**+++**%%##&&####%%**++**%*++++****+----++-++++**+-+**+++%*+++++***************++++--++++++*++*++**%%***%***%%%%%%****%**%%%*%%%%%*+++********+**+**%*******++-+++++++-+++****++++--****++**%#&#%-***%%%**-------+**#+++++++++-------------------
.......................------+-++-++-+++++++++++-+-++***%%%%%%%***++++++++***+------------....-......----+---------+-++---........-........ ..--+*++-%#%%*%%#%%%%#%%***%&@@@@@@@@&#@##*++--+#%#&&#&&@*-..... ...**+#+... +**%**-++%@%+*#&##%*+*+*%%#&#&&&##%%***++++***++--**+++-+.-++-++++%*+++-++%%%++++++++*%********+++++++-++++++++++***+%%***%**%%%%%%%**********%%##%%*%%%%*%%*******+****++*++++++++++**+++++*++--.+**+*+*%%*+-+%%###%+-*%%%*%*+-----++**++++++----------------------
.....................--------+++++++++++++++++++++++***%%%%%%***++++-+++++**%%*+-.-.-------.-........--------------*-**---................. ....-+%**-%#%*%*%#%%#%%****##&@@@&*%##&@#%*+--.+#**##%#&&+.-+-...-++++*%*....-+***%-*-##++--+####%*%##&&#%%%%%%****+--+**+*+--+*+++-.+.-++-+++*%*+--++--#%+**++++++**********+++++++++++++-++**+**%****%******%%****++**%%%%%%%%%%#%++++***+%%*+*******++-+++**++**+++++++-....-*+**+*%%%%******%#%%*****%#%+---++++++++++-----------------------
.....................------++-++-+++++++++++*++*******%%%%*****++++++++++*****%%%*--------..----.....---+--------.-+-%+.--......................++%**-*#%*%%#%%#%%%*****+*%&@&%+-++-+%&&%++-. +#*%#%%#@&--++++--+*+-++**--. -+***#---*%-+*-.-*%%###&&&#%%****%%%**+++%%+*+--+*+----+-.+++--++*+*+++*++*%#*%*++*++++++******++++++**+++++++++**+*****+**+*******++***%%%#%%##%%%*%*-++*****%%*+***%***+++++**+++*++-+-++-......-++*%*****##%*+-*#%%%%**++%%#*--+++++++++++-----------------------
......................-.-------+++++++++++++*******%%%%%%****+++-++++++++******%%%+-----------+---...-----+++--+-.--.**-+-- ...................-**%*%.+#%*%%###%%*%**%&&@&##%*+*%**+-+%%*-.. -#%%%*%#&%-++++**-++***-*+-..-++***++--*+-++*-.+%#####%%%%*****%%***++*%*++-+**+------..-++--++*++-++*+.+%#%***++**********+++*+****+++++**+++*+***************++++*%%%%%%%%%%%***++*%%%%*%%***+*****+++++**+++**+-++---............*%*++*%###*+++++*%%*%%*%%%+-+*++++++++------------------------
......................----------++++++*++++*****%%%*******++++++++++++++*****%%%%*%+---.----------..-.--.-+--+*+----.++.--- ...---..-........--+*%+*.-**%%%###%*****&#%#@&#%++###%%**-+*. -+*%*%%%%&+---..-+-+*#&+*&* -+**+****+++%+----*+%###%%%*%**++++****++++**+-+++--.----....-+----*+-++-+*+++%##%****%********+********++++++++++++++++******+***+++++*%%************+*%%%*%%%***%*++***+++**+++++**+-++-.............-.+***++**%#%%*++**++*%%%*%*++%#+++++++-------------------------
........................-.-------++++++*+****************+++++++*+++++******%%%*%%**+-+-.----.--....-.-----.-+------.+- .--. ...-..-.........---+*%*%. +*%%%##%%*%**%%+*%@&#%++%&%#@%##-+-.++-+**%**%&---.+++--*+-+*#&%-%*%+**+*#+-+*+-.--+%%%%%%%%%**+------++++****+++---..-+--...----..-*+-*++++*%%*%&#%#%%%************%**+++*+++++++++++--+***+++***+++++**%***%*++*******%%%%%%%*****++++*********+***--++-.................-*****++*%%%***%***++*%%*+%#%+++++++------------------------+
............................-----+++++++++**************++++++**************%%%*********++-...--....-.--------.-----.+*...-................-...-+*%*%. -+%%###%%%**%%*%%%@@@&*--*#%%&&&@%----+-*+****%%.+-+%***++%*#&#&#****+%***&*-.++-..-+%%%****%%**+-----+-++******+---..-+-------+-...-++++-+***%%%#&#%%%%***********%%***+**+++++++++++++++**++****+++++**%**%**++****%%%%%%%%%%*+*++**++*********++*+-+++-..................--*****++*+****%%%**%*%**%*#*+++++++-------------------------
............................------++++*++*****%********+******+****++******%%%***+********+------..--.-.-----+-------+%- ..---.............-...-+*%%%...-%%##%%%%**%*%##&@&%-.%%*#&&#@*----*+*++***%*.*-*-..+**%#####&+++++**%+#*--+-. .+*%%%%#%%%*+------++**+**++++-+-..*+------.------+++--++-+*%%#&&#%%%%*******%%%%******+++++++++++++++**++*****++++*****%****%**%###%**%%%%***++*+*+********+++**++++-...................---+**%*+--+++****%##%****%%++++++++-------------------------
......................-......-----+++*+*++*********+++++++++++**++++******%%%**********%**++---....--...--------....--#+. ..---............-.-.-+*#%%-+..%%##%%%**%%*%#%%%%#@%- *&+#%*#&*---++*+++*%*%*.*+#+-++%%%##%&&#+++#**+**#*--*- . .+*%%%%%%*+-...-+++*%*+*++++---...----.-+-.-+-----+---+++-+*%##&##%%%**%%%%%%%**********+++++++++++++*++****++++++********%%*%%##%%+*%#%%+++++++++**+*****++****+*+-...................--.-+-+****++++++**%%%%*%#%#+++++++++++----------------------+
.............................-------++*+*+********+++++++++++++++++*****%%%%***++*******++++---....--.......---.....--%%. ........-......--.--+*%%**++-.+##%%%%*%%*+*%*%**+++- .####&%&+++-+++++***%#+-**#%+---+*%%%#*%*#**+***%##+-**....-+******++-.---+*+***+++---.--. -+---..----+----------+++-**%##&###%%%%%%%%%%%%****+**++*+++*+++++++*+*****++++++******%%%%%%%%%*+*##%*++++++-+***+******+***++++-....--......--........-*+++-+*********%%%**%%%&*++++++++++++--+-------------------
..............................------+++*******+****+**++++++*+++*******%%%%***+********+++++-------+-------.....---.-.*#+-. ............-..-.---*##**+---.+#%%#%%%****#%%**%#....*#%%&%&*-+-+***+****%--%.--%*+**+*%#%*%*%%+-+*%%#&*-**...-++++-+++++-++++*%**+-+-..-----.. -++--.-.--++-----.----+-+++*%#&&###%%%%**%*%**********+**++**+++**+**+****++*+++*******%**%%%%%*++##%*++++++++**+++**%****%%*-*+......----..-----..-..-++-++++*--++*+***+***%%%#*++++++++++++++---------------------
...............................------++++*************************%%*%%%%*************+++++++--++-++----++**%*+----...+#%-. .............--.--+%#%**++%+--%###%%%***%#%&&#%&....+###&#%%+-+-**++*****--*----*+*++**%++***%##+%*+%#*-**------..--++--++***%***++------.....+--....---+++--+-------+--++*%#&&%%#*+++++*******************++++++***+***+++*+++***%%*%***%%%**++%%%*+++++++***++*+******%%%+**---.------------------+*+-+*+*%+--+++*%**%*+**%%++++++++---+----+--------------------
--...........................--.---------++*****************%%%***%%%%%%*************++++++-------++----++*%######%**+%##-.. ............--.--+%#%*+-+%-..+%##%#%**%%%*#&##@-.. .*##&@&#--*-.-++*%**%--*+-..-.-.***--++%%&##%-*+##*.+%-.-------+++++**++*++--+---.........+-+-....---++-+++--..-.+--++**%###%%%%@#*********************+++*++******++++++++**%%***%%%%%**++%%%*+++++++**+++++**%*%**%%*+*--++.-.-----+-+-------++---**%#+-----+++%#&#**#*+++++++-------------------------------
-..........................-........-----++++*%****************%%%%%%***************+++--++-+-----++---++*%%#############- .. ...........--.--+%#%%*-+*....*&###*+*%**#%&#*#+.. .+%#&&@&+.++.-+++***%--**+..+-+**++-++***&%**---%#-.+*-.--+++++++++*+--+++++----....-. ..+----....-+++++++++-..-.--+++**%##%%%%%#&%***%%%***%*%%%%%%%**+++*++******++++++++**%***%%%%%**+**%%*++++++++*++++***%*******++----..------+-+-+-+---++---+*##+-----++++*&*+##+++++++-+-------------------------------
....................................-------+++*%%%%*****%%%%%%%%%%%***************++++++-----+----++---++*%#######%#%%###*. . ...........----+*%#%%+-++--..+&##%*+***#%*##*%*... .+%#%##*.-+..-++%%**--+..-+****+..++-+.+%*+.--++#*-++...+-------------++-++----------..--++-....--+++*+++++-....--+++***%###*+-*#%***%%%%#****%%%****+++**+********+++++++*%****%%%%%**+**%**++++++++++*++**********+*---....++----+-++%*--+++----%#%-------+++*#%--++++++++----------------------------------
...........................-........--------++++**%%%%%%%%%%%%%%*****************++++----------+-++-++++**#############%%%+ . ........ ..----+*%&#%+-++*%%--###%#%%%#&+*###&#.....-****%*. +..-*+%%**..%++-++-%*-*-..*+..+-.--*+-&#-.*-..........--------+-----.---+++++----.....---++*+-*+*+-..---++++**%%*+--.+#*****%%#*+***%%%****++***********+++++-+*%****%*%%*********+++++++-++++********%*++---...-++.+----+++*&++++-----++-------+++%#*--++++-++------------------------------------
...................................------------+++********************++*******+++++-------------++-+++*%%############%%%%*- .... ......-----*%#%%+-++*%#***#&#%*+%%&%+**%%&+ . -.+**+%*-.-+.-*+*%**-.*+%--+--*.-%*-** -.-++**-.#&-.--......------..-.-+-..------++**++----......-.-+++-++**+-..--++++**%*+... +&*%&%%+%#@*++****************%****+++++++*****%*%%*********+++++*+++++++*******%%+-----..--+-.-----++*+#&*+++-------------+%%%+--------+-------------------------------------
..............................--.-------------++-+++++**********+***++++**+*++++++---------------++--+*%%############%%##%*-. .. .........-----*%#%%+---+*++%.*#+ +#*#*.+*+*&%. .--+**+*+. *+-+-+***- *+..--.+%. .+--%.-++-+*+*-%@*.-*-...---++-....---.....--.-++++---..-.......-.-++--++++++-..-+++*++%*+-. .#&+##&&-.&&&@&%***++***%***********+++++-+*****%*%%%******%*+++++**-*+++++**%****%*+----.....-. .---+++*+*&*+++-------------+*+------------------------------------------------
-............................----------------+-++++++-+++++++++*++++++++++++++-+----+---------+-+*+++*%%#############%%#%%%+-.............--.--*%%%*----++-**+*% .*#%*%+.-++*%#- ...+++++*. -*-+*+***-.*+*+---*---.--+#+.--+-%+*--&%--++.---+++++-...--..---.-.-+-++-----...-......-.-+-.++-++--..-++**+++*++*--&%+%%@&- &#%@@##***%*************++++-++*****%%%%**+*%%%*+++++**++*+*++*******%%++----...-.....--++*+*++##+++----------------------------------------------------------------
-............................-..-.---------+++-++++++++++-----+++++++++++++++++++++-------------++***%%#############%%#%%%%*..... ........-----*%#%%-..-+-++-+*%-%#.-.*++.+***%% ...-++++++. **-+-***-.+-+--++..------*%.--..#*-+-&&+.+%+-+++++++- ...--....-..++----..--...-.......--+++++-+++----++**++++-+*-#&%+++&+-+#+#@@@@@&&#%##%***%**%****+*++++******%%**+**%%*%*++++**+++*+++**+****%%**--.--.. --.+*+.-+-****+*&*+++--------------------------------------------------------------+
.............................------------++++++++++++++++++--+-++++++++-++++++++++++---------+++****%%#############%%#%%%%%*-.............-.---**%%%-.--.-+-.++%+*#-.+**+.-++***+ ....-++++*. -%.+****----+-++*---+--.++%--*.-+%**-+#*.-%*-++*++++. ....---.---++----................---++**-+++----+***++++-*+-##*%%%%.-*%+&@&%&@&&#%%*&@###%%%%**+++-++**********++*%%*%*++***+++++++++++**++*%%**+-.--.. .-.-++..-++*+%*%&#++++-------------------------------------------------------------+
.........................-..-----------++++++++++++++++++++++++++-+----+++++++++++++++---+++++****%%%##############%##%%%%%*+--...........-.-.-**%%#-.--.---.--*--+---%***+-++++*- ....+*++**. ++-++*+---.***-*-*-.--..--#-&-..-%%-.%%+-*+-++**++*.. . ..-+-+-+++----.................--++*+%++*----+*+++-++-+.*%+*%#@+**%+#@@@&#@@##&#&#@&#%%#%%%%**+++***+******++*%%%%*++**+++++++++++++++++%%***++..+-......-*-.--++***%#@*+++-------------------------------------------------------------+
-...........................----------++++*++******+++***+++++++-++---+--++++++++++++++++++*****%%%##%##############%%%%%%%%%-.-..........-. .-+%%%#-.-.---..-+*..---.++.----++++++. -+***** -*.-+++--..-..+#-++..--%-.+%&%...+++.-%++-+-++**+**........-+++-*-............... ..-----++%*%%**-.-++*++*++--.-%*-+#**+%%+@@@&@#&@#+@#%%%&@#%##%%%******++*****+++*%%%%*++*++-+++*++**+++++++*%*****++--+-.. .-.+-.--+-*%%**&#+++-------------------------------------------------------------+
.......................-...---------+++++++++****%%%%%*********++++-----++++++++++************%%%%##%##############%%%%%%%*%&* ...........-...-+*%%#....---..--*-.-+--+*..----++++++. ...***+*+.++.-*+-+.....-*+-. --.*+-.*##+.-++---#+-++-+++++*+ ...-..-------................-+++-..-++*%%#%*+.--+**+***-.*&*+-%@%+*+*.#@@&#*##@#%@&#&&@&%&@#%%%%***+-++++++++*%%***++++--++++++*+*+++++++******%***-++---..-.-----++%#**%&+++-------------------------------------------------------------+
....................-.---.--------+++++++***%%%%%%%%%%%%%%%**++**++++--+++++++++***%%***%**%%%%%%###################%%%%%*%##%.--.........-...-**%%%-..---.. --+-..- --+... ....-++++-.-..-+***+.*--++-++.-+.+*-.-.---...--*#*--++*+-%*-+.----++*+.....-.-.-----.... ........--+++--..-++++*%%#%*--+-+*+**+.-@#++%@&*%*#-+@@@&&&&@#&@###@@&&&@@&%%*******++****%%****+++++-+++++++++***++++**+*********+-+--..--..+--+++%%*%#*++---------------------------------------------------++--------+
.....................-.---------++++++***%%%#########%%%%%%%%******++++-+++++******%%*%%%%%%%%###%%##############%##%%%%**####---........---..-**%%*..----.. --+-...--.-.-%-......--+++-.-.--+**+++-+++-%*+*+-**--+-----+---*#+.+-++--+--.++---+*- . ...--.+--++-..-++....-++-----....++++***%#%**+-+++-+*+.%#%-&&@*-*&--@&%&&@##&&&@@##@&##@@#%*****%%%%%%%%*+++*+++++-+++++++*++****++**++***+***%**+++---.-------++-***#%++--------------------------------------------------+++------+-+
-....--.--.--....--..----------++++*****%%###################%%%%****+*+++********%%%%%%%%%#####################%##%%%%%%####&+....... ..------+****.-----.. -.-- --+..-. ----......---..---+--+*---**+--**..--....--.-.+---++%++--+-.-*..+*-+-+*- ..-----+------+%###%+--+-.---------+**+**+*%%%+-+-+*+++.*#*-%@@*+%&+-&@&*%&#+.+%%&####%%&&&&%#&%**+++++*****++++*+++*+++++++++*******++**++++********%*+++-+..---+-.-++-+%&#%#------------------------------------------------++---------+-+
-----.--.------.-.-...-------+++*++***%%#######################%%%***********%%%%%%*%%%%%%###########%########%%####%%%%%#####%..........-----++*%*+.----... -..+ -+...-+ ..-. ..--....*+--*+---.+-+-- .-*+----+-...+.+-----*#%*%-+-+%-.-++--+*- ..-+-.+---..-*&&##&*-**-+-+--+-.+*%%*%%*+**%***+++----#*--#@*+%&++@@&*#&%+***%#*++**#@@#@&&#%&#**+++++++++++++**+++++++++++*********+***+*++*+***++**%%+-+++-..--++-.-++*%*#%----------------------------------------------++++-++-+----+-+
--------------.....---------++++++**%%##%%%%%%%#######&&&&##&&&###%%%%%%%%***********%%%%%%##################%%%#%##%%%%#####&*-..........-----+*%++-----.......-.. ---.-. -...-..--.... -**.-----.-+......-++++-+*++---%+--+--*##%++%+&+.+*+--++-. .-..+-.**+#%#@###-%&*##*+++*--+*%%%%#%++*****+++. -%*+-*##-%+-*@#@%#*%++&#**%**#*%&&@&#%#&%#%****+++++++++**+++*+++++++**+******+***++++*++**++*++***+--++-.-..-+--+****&#---++**%+-------------------------------------+++++++-+++-++++
----------------..---------++++++**%%#%%**%%###########&#&&##&&&&&###%%%%%%%**********%%%%%%%############%%%%%%#%##%%%%#######+--.........-.--++****----........-. .-...-..-.. ---. ..-. --.-..--..+- .+..........-+*+--*%#%+*+++##*%+&*.-++-.--- ..----+***@&+@@&%@%*@#&#%**%%*-+%**%%%##*-+*++++-- -*-..*#%-*..-.#%#&#%*-.-+*%&**%+#%*#@##%##%%%****++++-+++++++++++++++*+++*****+****+++*++***+*++*+****-.----------+***%&##%%%%%%#------------------------------------++++++++++++++++++
---------------------------+++++**%%%%**%%##%#########&&&&&&&&&&&&&#####%%%%%*********%%%%%%%######&####%%%%%%#%%#%%%#########+.-.-......--.--+++*%*.--. ....-..----.....+.-...--. ...-.... ... ....+.-.---.........-*%. ...+-++&@&*%+##..++-+*+*+.-+*%%**+%&%*@&%#@*%@&@#%%#%*%*******%%%%-+*..---.-%+-.+%#.*-..--*&&&#&----%#%%#+***&##@&####*&*%%**+**+++++++++++++++++++++*****+*%**+***+++****+*+++++**+..+----.-.-++*%%%%&#%++*#*-----------------------------------+++++++++++++++++++
--------------------------+++++**%%%%%%%##%%%%%#####&&&#&&&&&&&&&&&&&#####%%%*****%%%%%%%%%###%%%######%%%%%##%##%%%#########%*-..-. . ..-.---+++*%*.......---...+-.-....+.....-.......-. .... ......-..--......--++---+*....---&&+*%&*+@-.-+----.-***+%&%%*%***@&#%&&*&&@@##&&#**%*+**+*%*%%+++---+-+*+..+#%-.**...-#@@%%%-#%-*%+--+%%+%&%%#&@###%#%%****+++++-+++++++++++++++***++**********++*+++***++++*+++---++--.-..-+**+++%%#+*#*------------------------------------+++++++++++++++++++
-------------------------++++**%%*%%%%#%***%%%%%####&######&&&&&&&&&&&&#####%%****%**%%%%#%%%%%#######%#%%%%%###%%%##%######%%*-.-.......-----+++*%%.... ...-.. .+....-. -+...... . .. .-.. ...----...........---..-----+-.-..*%+.+%&#*%#-++----..-%**&&&%**+-*@##%#&%*&#@&&&&#&###***+-**+%*+**%*-+-*+..+%#.--**-..+@@%*+*++-+----**%*%%##&&&&&&@%%*&%**+++++++++++++++++++++++***********+**++*++++*****+++++*+------....----++-+++%+-----------------------------------+++++++++++++++++++++
------------------------++++*****%%%%******%*%%%%###########&&&&&&&&&&&&&###%%%%%****%%%%%%%%%####%#%%%%%%%%#%%%%###%######%%%**.........----.+++*%*......-..-. .--...-.++*...... ......-------++*--..... ..... .. ..----+*++*+. -+%@*##+..-+--+.+*-*#%*%*+-%@@####+%&###@&&&@&&#*%*++*++%%*#%%+++-+.-+*#-.--*+--.#&#*%*+-+**#+-+*+*+*#@#####%####%*#***++++++++++--++++++++***+********+********++**%*+++****++---+--..---+***%%*+--+--------------------------------+++++++++++++++++++++++
------------------------+++***%*%%%***%%%*%*%%*%%%############&&&&&&&&&&&&####%#%%%%%%%%%%%%%###%%#%%%%%%%%%%%%%###%######%%%**%+........--.--+++**+........-... .-.--..+++-.-........-..--+-------....... .. ..-.+*+-+ ...+##+*- --**-*-+**%%##%++-%##*%&%+%#&&&%*##*#%%%%*+--+*%%***+*-.--+**---.*%--.+%*%***++-+%#*+**+*%#&#%%****##%%+#%+*++++++++++++-++++++*+++*****************++****+++****++++------------+*%&#-+++--------------------------+--+-++++++++++++++++++++++++
------------------------++**+%**%%**********%%%%%%%%%#%%#######&&&&&&&&&&&&&#########%%%%%%###%%%#%%%%%%%%%%%%###%%######%%%%***-..-.....--.--++++%* ........ ..-----+++-- .. ....-.-...---------..... .- .. .-.---*%*+*****+*-.++-*+--*--*%#%+-++#%%*+#+*&&%&&&@#++%%%#%%%+--++++++-*+---**+..--*#+.----+*++*++-++--+****#&##%**#*#%++#%%%%*****++++++++++++*++++++********+****+****++****++******+++------------++%&%-+++++----------------------+++++++++++++++++++++++++++++++
-----------------------++*++%**%%******+*****%%%%%%%%%%%%%%######&#&&&&&&&&&&###############%%%%#%%%%%%%%%%%%###%%######%%%%****-..+.....-----*+++#* .......... ..--.-+-----......-.-.---.......... ........ ---+--.......--+##&@+--+-...*+--.+-**+*+%*+**%****%%@@%**###%#*%%*%%%#*--+++++++*+--.+%. .-%*----.--++*++**++**%++%**&%#*#+&@&##%-+%%#*****++++++++++++**+*++*************+*+******++*****++***+**+-+-+-----.....%%-+++++-+-----------------++++++++++++++++++++++++++++++++++
-----------------------+*++***%**+*++++++****%%%%%%%%%%%%%%#%%#######&&&&&&&&&&###########%%%%##%%%%*%%%%#%%##%%#######%%%%****+...-.....-.---+--+#*.... . .......---+-...-+++----------. -. ......--- +*.*-.---....-...-++ -*-..+--+--..-+*++++%++*%%*-*&&##&@#++%#%+*#%*%%#%-++++***+*+--.+-...++----&+--++***+++++%*++*%##%##*+*%%##%*-+%%#***+**++++++++***++++++***++********++***++**+********+***+**----.--++----%*-+++++++-------------++++++++++++++++++++++++++++++++++++++
-----------------------*++**+*++*+++++++**%%**%%%%%%%%%%%%%%%%%%######&&&&&&&&&&##############%%%%%%%%%%%###%%%######%%%%%*****-....-....-..--+-++#+.... .. ....--+- .-++++++-...... .......---.--.*%-%%+****%%%#+-....+#- -+++---...+--%%%+#*.*#*-+&&#%&&&@&-.**-%#++**%%*-+--++++------..-.++--+&&-%*--+++++--++--*+*#%#*++%+*####&%#+%%%****+***++++***+++++**++++*************++*********++*+****%%*++++++++++**#%++++++++++---------++++++++++++++++++++++++++++++++++++++++
-----------+----------+++**+*++*+++++++**%%%%%%*%%%%%%%%%%%%%%%%%%######&&&&&&&&&&############%%%%%##%%%###%%#######%%%%*******+....-....-----*+++#+..... ... .....+.++.--+----..... ... . . .---+--.-...-.+%*##%++####*%@&%--*#+.--..--...... *#*%+%#-+*+%&#+%#**+*#++*+%%+++**%*++-+++++..++-..---+-.+&@*%*--..--------++*+##%#-****-*&&#&&&&*%%*********+*++*++++++++++****++**%***%**++*********+*+++++*%%%***+++++*****%%++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++
---------------------++++++++++++*++++***%%*%***%%%%***%%%%%%%%%%%%%%####&&&&&&&&&&#################%%########%####%%%**********....--...-----++++#-...... ......----++--............. . .. ..------... .%%%*&*+%%**##&*+*++- --..+*+-.....++-+*++%%-*####+*%%*++*%#%%%%*+-+++*+**%*---...+%++-.--*..%@#%+.--..-..------*#-###***%**%*%##%&&&%%%%***+++*++++++*++++++++***++***%***%**%*******+**+++++*+**%%%%*%*+++++*%***#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------++++++++++++++++++***%****%%%%*%%%%%%%%%%%%%%%%%%%%###&&&&&&&&&&&&###########################%%%%**********%+....-......--+-++%+...... ........------.......-..... ........ .........-...-%-+*##*%#%+++*#*--..----+++-....----++-+.*@@&%+%+**+%+*%#&#&###+--+-++***++--..-.#%**++-*%+##%+---+*.-.--.--++-%*-%&#-%*%%***##&###&@%%%***+*++++++**++++++*+***+***%%%***%**%%***%****+++*+*****%%%%****--******%%#%++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------+++++++--++++++*+++********%**%%%%%******%%%%%%%%%##%###&&&&&&&&&##&&&#######################%%%*******++**%**.........-.-+++++%-...... .........--...-+--.. ............ .... ........ ..--..+%++-+*-*+--+**+-. ..--++--... ..++-+----++&@#*++**%+%%%#####%%%+++----+%*++--.+.+&*%****###%+---..++.-..--..-++++-%&*+++*%%%%%####%&@@#%%******+**++++---+**+******%%%****%*%%%**%*********+*******%%****++**+***%#&#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------+++-+++--+++++++++*+**%%%%%%%%%%%%***%%%%%%%%%%%%%%%#####&&&&&&&#&&#&&######################%%%%%%****+**%****--...-..--..+++*+%-...........-.....-....-+.----...--.--...........--.-++---+*+----+-----+-*+---. ...------.. ..-++++--+.**&&%*--*+-*+%#%%%#**+**+---+-+++*----++%*%#+%&**+----.--.......-++---+-+##%-..-++**#**##&&@&###*%***+++++++----++**+*****%%%****%%%%%%%%******%******+***+*****%*++*%*%%#&##***+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------++----+--++-++++++*****%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####&&&#&&##&&&&&&&&&##########&####%%%%%%%%%**%#%%%%*%*-..-...--.-+++*+%--..........--.....--..-....-+-+++-------..-++--+++*+++++++*+--.. ....----+--. ..--.--... .--+*+----.-*+#%**+-%+--+-*%*%#*+**+------+++---+--%++&#%*%+--+-------...--.-+---.--*%%%-.----++%%%%##&&##&@&%****++++++---+++***%%**%%***%%%%%%%%%%%***%%****%*************%%%***%%%&@#*****++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------+++---+--++-+++++*******%%%%%%***************%%%%%%%%%%%%#####&&#&&&&###################%%%%%%%%%%%%**%%*******+-. --..--.-+-++*%--.......-..........-..........---......-+-+*++++++++++--........... ....-.. -+-...... .-++*+-----.++#&##+*#*-+**-**%%*+*++.....--.--..--+*+#&%*++*-+-++..--..--.-..--*---+--**+++++-*#+%#**&&#%@@&##********++--+++**%%%**%%**%%%##%%%*****%%%%***%*******+********%%%%%%%%&@#%****++++++++++++++++++++++++++++++++++++++++++++++++++++
----------.----------------++++++++*******%%%%%*********************%*%%%%%%########&&&###############%%%%%%%%%%%***%%%#%%%**++++*-..--..-.--+-+++%-....-.-..-................... ...... .-------.-..... . ........... --...--.. ..--++-++---%*##&%+*++*%+**#&#*-+---.....--.......+++#%*+--%*---**-++---------+++-**-+*+-***-+%*#*%&&#%#@@###%*******+++++++***%%%%*%**%%#&&###%%%%%%%%%***%%*****%*+++%%****%%%%%%##&@#%*****+++++++++++++++++++++++++++++++++++++++++++++++++++
---------------------------++++-+++******%**%*%%*************************%%%%%#######&&############%%%************%%%%%%%****%%%%#*-.--....--+-+*+%-----.-.................................. ............... . ............ .------.. .... --++*-+*.-+%%#%&%%#**%+*%&&#%-++-.--.--.-........+++#%+..-*%--..-----.-...--.+*-.-*+%%-++*+-**-*#%#*%&@#**@%*%*****+++-++**+*%%%%%%%%%##&&######%%%*%*%%%*****%****+*******%##%%###&@&%%*****++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------++++++*++************%%*****************%%%%%%%%%%%%%%####&#&&###########%%%%%****%*%%%%%%****++***%%**%**+--..------+*+*.------........... ...................................................... .--++--..........-+**+-+--+***%+%#*+%++##&##+-+-.....----........-*+*%*-..+*+--....----...--++++.---**-+++++*-++*+*##%****@%##*****++++****+*%%%%%%#%%##&&&#&&##&##%%%%#%%****%******+******%#####&&&&##%%****++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------++++++++********%****%****************%*********%*%%%%%####&##&###%%############%%####%%*******%%*****%%**++----.----+++*--------....................................... ........................... .+++-.. .--.......-%++-+++++*******+*+%#%%%*+-......----. .-.. .+++*%*--+*+*+--+*+++--+--.--.-.-..+%---++++---*#&#*++***###&%%****++*******%#%##%####&&%%%%##&&&##%##%%%*%%%******++**+***%#&###&@@&##%%%****+++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------+++++++++*+******************************************%%%###########%%%%%%##########%%%%%%%%%%%%***%%%%%%%*-+-+--.-.+-++**.-------..................................... . .................-..... .-+.......-.--....--+-+-+---*##**++#@@#****++-.......---.... .-. .-+--*##**-*%*+------...--+----++-.*%-**-++--+#%*+*+#&&%#*%%##%%%************####%###&&%*%%*%%#@&######%%%*%%%%****+***+****%&&#&@@@&&#%%%*****++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------+++++++*+++*******************************************%%%####&##&##%%%%%%%%%##########%%%%%%%%%%%%**+*%%%*++-+-....+-++%%.------..................................... .. .................-..... .+-.... .. ..--.--.++-.--+++%***&&&#*++++--.......--.-. ...-- ..++.-**+--+-.-+-+++*+..-.-++..-+++%%***++-+%#*--+***+%##%##%&&%%%**%*******%######&&&%******%#&&&&##%%%%%%%%%%*******++****%#@&&@@@&##%%%%*****+++++++++++++++++++++++++++++++++++++++++++++++
---------------------------++++++*++**************************+*++***************%%%####&#####%%%%#############%%%%%%%***++--+**+%%**+-+-....--++**---+---......................-............... ... .......-...............--.... . -. .----..-+.-+*-++*+%%%%+++-.......-..-. .-....... .. ..*-.-+---+++-.....-+*--+-.+++++*##*%*---*%%+..++**+++*%#%%%##%#%*%*%*****%##&&##&###%******%&&#%###%%%%%%%%%*******+++****%##@@@@&&&##%%%******++++++++++++++++++++++++++++++++++++++++++++++
-----------.-----------------++++++***+*******************+++++++++*****++++*******%%#############&##########%%%****++++--+****+*%*%++++-....---+**------........................................ ..................-..........-. .+----+**+++*****##%%#***++-...-....--.--.--. .-.--.-. ...-+-+**--.---. . .-*+-*+.-+++++++%+-+*%+---***+%*+++%%#**%%###%%%%****%##&&&&&&&&#%*******#%*+%&###&#%%%%*%***%**++*****%##&@@@#####%%%%***************++++++++++++++++++++++++++++++++++++
------....-------------------++++++**+**************++*+++++++++*********+++++******%########&&&####%%%%%######%**++--+++**%*+++***%*+**-...---+-%*------.....................-----..... ........ ................-.--....-..- . .+*%%##%%%##&#&&@@##%+++-.........--.----.. .-+.-+........+**#%**+-......... -+-.++....-***%-***---+-+%%+%#+**%##%%&####%%%%%***%#&#####&&&&********++++*#&%*##%#%%%%*%*%*+*******%##&&@######%%%*********************++++++++++++++++++++++++++++++
-------...---.---------------+++++*************++++++++-+++++++**+*++++++++***********%###&&&#####%%%%###%%#####%%*+++******++++++***+*+-....--+-%*--+-....................-------.... ..... .............. .- .--......- .-+*####&@&####%%##%%%--...-.....-..+*.+..........-..... . ++*%+**+--...... .+-.+%+.*+*##+*%+-.-++*+-+%*@**#%%%#&#*#####%%**%####%#%###&&&*******++++++%#*+&#*#####%************%##&&@@&#####%%%%**********************+****+++++++++++++++++++++++
------......-.---------------+++*++******+****++++++++-++++-+++++**+*******++++**%*****%############%%%%%%#########%%%%**+-------++*****-....+-++%*++-.......................----..... . .... ............. .-........... ...+*%##%%%%###%%****%#&#+-.....--..--+**++..-+-.....-........ .*++*+*#*-..-...... .--.+%-*+-+*%%+--++--+%**&+%@**%%&&%%*%####%***%###%*%*%#%#&&******+++++++++++#*+#&#%%%********%****%#&&@@@#####%%%%*****************************+++++++++++++++++++++
---.--......-.----------------++++**+*********++++++-------++++++*********+********%%%*%%%###&########%%%%%%%########%++-+---+-+++*%++%*--...++++%*++-................--.--....--......... ................ .--.......... ...-*%%*%%%%*%***+**%#&#**---...-+-+*--*%*-+..--..-....--...... .*-*++%+%+--....... ..-.+%**+*#%---*%++---+%#+-%%%###***%+#&##%***%###%*%*%%%%%&%****+++++++++++++++*%%%%**%***%*******%#&@@@@&####%%%%*******************************+++++++++++++++++++
.-----......-..---------------+++************++++++--+------++++*+++++++++++++********%**%%#########%%%%%%%%%%%#%%%####%%*************%*--..-++++%+*---............----..----............... ........ ............... .----.... ...+**++***+****+**%***++-..------+-%-.+%%*++........... --. ..... .-%+***+*%--.-...... .-.-++%&#*----++--+----+++-*&%+-*&%*%&@##**%%##&%*%%*%%**%%%****+++++++++++++++**+%#%%#%%%%%******%#&@@@@&####%%%%%***************%%%%%%%%********++++++++++++++++++
----...........-.------------++++*********+*+++++-----.-------+*++++++++++++++**+++******%%##########%%%%%%%%%%%#%%%#####%%%%%*****%%%%*--..-+++*%+**-----.-...----........--+-------........ .......... ............. .-..-..... .-+****+++********%**+---.--++--+++**++***++++-+-.-.--.. ........ --+-+++++--.-.........--.--++.-+++-+++-++--+**%*++**+*#%&&%##**%%###%********%%*%*++++++++++++++++++++%###&#%%%%%*****%#&@@@&&####%%%%%%************%%%%%%%%%%%%%******+++++++++++++++++
---..............------------++++*********+++--------.--------++-++++++++++++++++++++******%%%###%#######%%%%%%%###%%######%%%%%%%%%%%%*-...-+++*#****++--------++.. ...........-------------..--..................... ....---.--. .+++-+*%%%%%%***%**+----.--.++------+*%-**++-.----.--.. --.. ..... .-+*%*++--+.+...-.....--+-.----++++*++++-+--**+-.+%*++***#&&#%*%%###%*****+*******++++++++++++++++++++%##&&#%#%%%*%***%#&&@&&&###%%%%%%%******%%%%%%%%%%%%##%%%%%*****+++++++++++++++++
-.................----------++++****+***+++++-------.---------+---++++++++++++-+++++++++*+**%%%#############%%%%%%%%%%%####%%%%%%##%%%%*....-+++*#********+*++++*+................................................ ... .--.--- -.. .-..-+*****%%***+++---.-...**---%%.+----*%*-- ....++.....+-. ..... ..++++-*-..-+....--....----+++-+-++-*+++*+--+--.--%*++*%+%&#&%%%#&#%%****++++****++++++++++++++++++++*%%@&@&%%%%*%%**%%#&&@@######%%%%%%%%***%%%%%%%%%%%######%%%%****++++++++++++++++++
..................---------+++++***++*+++++---++-----------------------+++----+-------++++****%###############%%%%%%%%%%####%%%%%%%%%%%*...--+++*#**********++**+-............................. .. ..............-----. --. .-+++++*+*+++++++--... .+*+-+*%%+----+**+--...-........ -. . .. ....-. ..--.-+... .-.....---+%*+-++*%##**+-++-.----*%%--***%#%##%#&#%%%***+++++++++++++++++++++++++*++**###&&%%%%%%#%%#%#@&@@######%%%%%%%%%%%%%%%%%%%%########%%%%****++++++++++++++++++
......-...........-.-------+++++***+++++++---+++----------------------------------------++++**%%%#############%%%%%%%%%%%#####%%%%%%%%%*....-++**&*********++**++-............................. ... . .............---. .... .---++++++++-------.....+%*-+*..***+++++++-....-............... .+......-. .+**+--...... ....--+%+----%%%+.-*+-----+-*+%%-#*%#**@&%#&#******+++++++++++++++++++++++++*++***%#%&#%%%%##%####&@&&######%%%%%%%%%%%%%%%%%%%#####%%%%%%******++++++++++++++++-+
...-.............----------++++****+*++++------------------------------------------+-----+++**%%%%####&&######%%%%%%%%%%%%%####%%%%%%%%*...-++*+%%************++++............................. . ...........----..... .-.-++++-++--------......++*-**+-+*%++++++--.....-...........-. .*+.--..+-....-+*-......--.. .-.+%*--++-.-+++.......++--+%&*%%*@@#####**+**+++++++++++++++++++++++++***+*****%&#%%###%#####&@&########%%%%%%%%%%%%%%%%%##%##%%%%%%%******++++++++++++++++-+
.--.-............----------++++***+*++++--------------------------------------------------+***%%########&####%%###%%%%%%%%######%%%%%%%+....-++*#*+***+*****++++*-............................ . ... .......--.-.......+++++++--------.... .--++*%*+++-++*+--+-.-.......-...... .. -*--*-..-+-.-...----.....----.. .-.-%*.+-+-+*-+-.+.-++.-+--+%%%#@&#####&**+**++++++++++++++++++++++++***********##%##&&#&####&@@##########%%%%%%%%%%%%%%%%#%%%%%%%%*******+++++++++++++++++-+
-.--.............--.-------+++*+**++++-+-------------------------------------------------+****%%%##############%%%%##%%%%###%%##%%%%%%%+....+*+*#++****%***++++**-...........-................... ......--.--.....-.---*--++----.-..--......---*+*%++---+++-+----.........-....... -%--*--..++-.....-..-+-............--+*-.-+**--+**--++++-**.-#*#@&%#@#&##%**+*+++++++++++++++++++++++***++*******####&&&#&&&&&@@@&###############%%#%%%%%%%%%%%%%%%%********++++++++++++++++-+
-..-.........-...--.------++++++**++++--------------------------------------------------+***%%##############%%%#%%%%%*****%%%%%%%%%%%%%+....+*++%++**%*********++-.........---................... . ........---....-.--++-+++... .......-...-++*%+*+++--+-------+- . ......-.-. .**.+*-.-..-*+-....-----++-...........-.-*+-*%--.-++-+..-+--*+*##&&%*%%####%**+*++++++++++++++++++++++++*+++******%&&&&&#&#&&&&&@@@&#&&&&&&##########%%%%%%%%%%%%%%%%%**********++++++++++++++++
-............-..--..------+++++**++++--------------------------------------------------+***%%%###%%%%%%%######%%%%%%%%%%%%%%%%%***%%%%%+...-+*+*%+***********++++-...........-..................... . .......-+-......-++-----.. ..........-.+++****+++-+*-------+-............ .+%*.%*..-...-*++--...--.---+-.... .. . .+--***-.-..++-+- .-+++*%#@#*%%%%&#%##%*++*++++++++++++++++++++++++++***+***##&&@#%#&&&&@&@&&&###&&&&&&&&######%%%%%%%%%%%%%%%%%**********++++++++++++++++
...............-....------+++++**++++--------------------------------------------------***%%%%##%%*****%%%######%%%%%****%*%*%%%%%*%%%%+....+*+*%+*+********+++++............-...................... . .. .......-.+-......-*+--.... ........-..+*****++-+-*----------.........- .+%%+-%*..--.+++*-++....-.-+...+-....... -+----.--..-+..+%-.-+++*#%***##+%@%%#%****+++++++++++++++++++++++++++++++*%#&&&#*%#&@#@@&@&&#####&&&&&&&#####%%%%%%%%%%%%%%%%%%**********++++++++++++++++
..-.............-..-------++*++*++++--------------------------------------------------+**%%%%%#%%*******%%%%######%#%%%***%%*%%%%%%%%%%+...-**+*#+*****+**+++++++...........---..................... . .........-.---.....+++--... ....--..-..+**++**-+++*-------++...-.......-%#%-+#+.-#*+-.--..---...-.--.. .*-..........-*-++ .-..-*+..*#*-..*#*+&%-*#+-@%%#%****+++++++++++++++++++++++++++++**%##%***#&@&&@@&#########&&&&&######%%%%%%%%%%%%%%%%%%*********+++++++++++++++++
....-..............-------++++**++++----------------.------------------------+-------+*%*%%%%%%%***********%##%%#########%%%%%%*******%+...-**+*#*****+++++++++++............--........................ .........-.-......+++--- ..-.--..-..-+*+-+*-+-++-+--.---+........ .+%#%+*%+..+-.-++...+..---...-.... -+......... .++.-...--+*-++-+*%-+%**%*%+-#**#&&*##%***+++++++++++++++++++++++++++++**%*****#&#@&&##&##########&&&###%%###%%%%%%%%%%%%%%%%**********+++++++++++++++++
.--.-..............------+++++**+++-------------------------------------------------+*%%%%%%%#%***+*%**%%%%*%%##%%%%%%%%%%%%%%%%%%%%%%%-.-.-*++*#%%****++++++++++............--........................ ........-..-.-......-+----. --.-.-....-+*+++--+.-+--++-----+....... -*%%++**..-......++-.+-..--.+-...... -+........ .++--....++.---.--+*--+***%#&%-*@@*%##*+*+++++++++++++++++++++++++++++*******##%@@%%%%%#%##%###########%%%%%%%%%%%%%%%%%%%%%**********+++++++++++++++++
.-...-.-..........-.-----+++++*+++-------------------------------------------------+*%%%%%%%##************%%%*%%#%%%%%%%%%%%%%%%%%%%%%%-.--.**+*#*********+++++++.............-........................ . .. ....--..-....--..-+-----. . .-..---.-..-*+----+-+--++------+..... .+%*%-+*+-+*++-..-..-+..+--..+#-...... ++..... .. .+*-+-..++---+..+*-.-*+**%%**%&#%%*%##*++++++++++++++++++++++++++++++++****##%&@#%%%%%%%%%%%###%%###%%%%%%%%%%%%%%%%%%%%%%***********+++++++++++++++++
....................-----+++++++++------------------------------------------------+**%%%*%%%#%*********+*%*******%%%%%%%%%*%%%%%%%%%%%%--..-**+*#*******++++++++-.............-..................... . ...........-...--..-+----... .-.---.--.-.*+--.-*+---+-..-----. . -+**++%*--*+-++%%-....++..-+-.*+--.... . .++-....... ..++.-*+-++-%+-%%+*++*-+%%+*&&%**#%%%&%*++++++++++++++++++++++++++++++++**%#*#&#%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%*************+++++++++++++++++
....-...............-----++++++++++-------------.--------------------------------++*%*%**%%##%*******++*%*******+++***%%%%%%%%%%%%%%%%*-.---*++*%%********+++-++-....................................... . ............----.-.--+--..-.--.. .-.----.-.--++*--+++-----.------ .+*++--*+.-+.....-++.----.----.++---....... .++..........-*+.--+-++*+&#+.+++*+-***&%****%%%###**+++++++++++++++++++++++++++++++**%*%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******************+++++++++++++++++
-................-.------++++++++------------.--.-------------------------------+++**%%**%##%*******++*%*****+++++++++*****************--++.+++*%%***********+++.............-............. ................ ..............-++---++-..-..---.....-------.--.+*+**+---+-----.-+-. .-----+*+-.-*-*+-..-++-------...++----....... .---.........-**+.-++-+#%+-.++.+--+*##%****%%%#%#***++++++++++++++++++++++++++++++****%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************++++++++++++++++++
.......-.........--------++++++++------------.---------------------------------+++***%**%%##%******+**%*****+++++++-+++****************---.-+++*%***************............................................... ...........-.-.-++-..--- .-----..---..--....+*+-++--+-+-..-----..+----+*-...*++++--.-+--.-..+--.++.-.-.-...........---........-*+-+*-+#*+----+.-+--%%#&**++*%%#%#%**+++++++++++++++++++++++++++++++******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************++++++++++++++++++
...-...........--.-------++++++++-----------.-----..--------------------------+--+***%**%%#%%%******+****++++++++++********************-...-+++*%********+++++*+ ............. ............................... ...........-.---..--..--- ...--+-.--.--+-+--+-++*+--+----.-.-.---..----- .-.-+-+-.-------.-.-+..-+.---................--...... .+*+-.+%+-+---..+ -.**%&@%+++**%#%%%*+++++++++++++++++++++++++++++++*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******************+++++++++++++++++++
.........--.......-------++++++++-------..--.-....---.-----------------------+--+***%%**%%#%%%*****+****+++++++++***%%%%%**++*********+-...-+++*%%++++++*++++++............... ................................. .......--.----...---..-.. ...--------+-.--+++++--+--.-+-------...--..--.. --.----------.----..-.-.-....... .. .......--.......-+*+%&+..-----.-..+**#&@@+++++*#%****+++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************+++++++++++++++++++
.....-......-.....-------++++++++-------..--......-------.--.--------------+----+**%%%**%%#%%*****+***+++++++******%%%%**++++********++-..--+++%%*-++++++++++++............-............... ................... ............-----..-...-- .-....--------.----*+--+---.-----+.-....-..-.-+-.-.++--+-+----..--.-+--.......... . . ......--.......-+*%++------.-..+*+*%#&@%++++*%***+*+++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************+++++++++++++++++++
..................-------++++++---------...-..........---......----------------++*%*%***%%%%%****++**+++++***+++**%%%%%*++++*******++++-...-*-+%**+++++++++++++............-................................................----...-..---.-..-. .----.-..--+-++-+--+..---------. .--. ..--.------+++--...--..+----............ .... .-- .....--+++-.+--.-- +*-+*%#&&&++++***+++*+++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***********************+++++++++++++++++++
...................------+++++++-------.........................-----------+---+****%***%%%%%*+**+**++++**++++***%%%%**+++******+++++*+-...-*++%**+++++*++++++-...........--................................................-.---...--.---..... .--.---.---+++-++-----.-.---.---. -- -..---.-*+-----+.-+-.-+----.............. ......-. ... -*+..-++++--+---+%#&&@%++++*+++++++++++++++++++++++++++++++++*+*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%**************************++++++++++++++++++*
...................------+-++--------.-....................-....---------------+*%**%***%%%%%***++**+++*+++++***%%%%*++++**%**+++***+++---.-+++%%*++++++++*+++............-.................................. .............--.---.----.--...-..-+--+-+----+**++---.-----++-.--....-----.--+.-*-.-++-----.-+---.-............. .......--.. ...++-..++-.++----+%##&@@++++++*++*+++*+++++++++++++++++++++**********%%%%%%%%%%%%%%%%%%%%%%%%%%%%******************************++++++++++++++*
....-..............--.---++++---.----...........-..........-....--------------++****%***%%%%***++**+++*+++++*%*%%%%*++++*%%*++****++++--.-.-+++%#*++++++++++*-............-................................... ............-.-.---.--.---...---..-+--++---.-+**+-.---+-+++--.-....++---++----.-.-+++--...++.--................. .........---. .-+--+--*+-.---+*%##&@#++++++*+++++**+++++++++++++++++************%%%%%%%%%%%%%%%%%%%%%%%%%%%%**************************************+++*****
.......-.......-...-..---+-++--..--....................-...-..-..-------------++****%***%%%%**+++**+*+++---*%*%%%%*++**%%%*+****++++++-....-+++%#***+++++++++....................... ......................... ...........-..-.+---+-+---...--..--.--+---.-++*+--.--------+.---.-++--..---+-.+.--+---.+*--+-.................. ........ ..----....-++--%*.-----+*%%#&&@*+++++++++*+*******+*+*+++++++************%%%%%%%%%%%%%%%%%%%%%%%%%%*************************************************
................-..--..--+--+--.-.-......--......-.........-..-..-------------++%*******%%%%*++++*+*++----*%*%%%%***%****++****+++++++-..-.++++#%++++++++++++............-................................... .. . .......--...++-+++--... .-- .-.-----..-----------------.---.+++. ..-.-+..+-++-.-+--+-................ ... ......-. ........+*+*+-.--.---+*%#&&@&++++++++********************************%%%%%%%%%%%%%%%%%%%%%%%%%***************************************************
.......--......-..-.....-+----....-........-.....................-------------+*%*******%%%%*++++++*-----+%*%%%%**%%***++****+++--++++-..-.-++*##++++++++++*+.......-..... .................................. . ......---..-.---++---... -- .-.--.--...-+++-----+---.-..-- .+-. ----..---------++--+-.. .....-..-... .... .....-. ...--*%+..-.-.---+*%%#&#@%++%**%****%***************************%%%%%%%%%%%%%%%%%%%%%%%%%****************************************************
........-...-...-....--.-+----....-..............................--------+---++*********%%%%*++++*++----+*%*%%%%*%%***++****+++++--+++------++*#%+++++++++*+......-.-...-..................................... . ....----..-.--.----.-...- --.---.-...-+-+---.--.--.-----.-+.-+----..-..-...-+-++-... .......--.......... ...... . ....--..------+-+**%#&#&@*+%#####%%#%*************************%%%%%%%%%%%%%%%%%%%%%%%%%****************************************************%
-....................--.-+-----...................--.............------------++*********%%%%**++*++----++**%%%%**%***+*****+++++++++++--.---+++#%+++++++**++.....-----......................................... .. . .......-...---+------..-- .-.--......---+---.-.....-.---..+.--.-.... ...-++--++.............-........... ......... .. . ..........-----+--+*%#&##@&*%&%%&&%#%%%***********************%%%%%%%%%%%%%%%%%%%%%%%%%%****************************************************%
.....-.............-....-------....................--.-.........-----------+++***********%%%*+++*++---++*%*%%%%**%+*++****++++++++++++-----++++##++*****%*+-.....-----......................................... .........-.--.---+++-++-.-...-----..--..-++--++-----.-----..+-...----...------+-...............--.................-. ...............-----+--+*%%&&%&#%#&*#&####%*%********************%%%%%%%%%%%%%%%%%%%%%%%%%%*********************************************%**%%%%%%
.....--.................----.--...-.............--.....-........-----------+++*%*******+*%%%*+++++-.--++**%%%%**%**++****++*++++++++++-----++++%%++++****+*-......----.-......................................... ......-......--.++---.-..--------.--.--+++-++-.--..---+---.----+--..----..--.................--...........-.. ... . ............---------+*%#@#%@##&%%&@&&#%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****************************%%*****%%%*%%%%%%%%%%%%%%%
........................----.-..........................-.......-----------++**********+*%%%*+++++---++**%%%%%**%%++**++*+++++++++++++-.---+-++%%+++++++***.......------......................................... .......-.....----++----....+-.-..-.---++-++--....--...----...-------+---.......................-........-.-.. .. .. . ............---------+**%&&##@@&&%#&@@@#&#%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****************************%%%*%%%%%%%%%%%%%%%%%%%%%%
......................-.---.--..........................--..--...--------+-++**%*******+**%%**+++----++**%%%%%**%*+*%++++++--+++++++++-.---++++##*+++++***+......-------........................................ .........-...-.---++---+. .+----.--.-.----------.---..---...-+---+++---..-.. ...........................-.... .. ...... ............---------+%#&&#&@@&&##&@&@@#*++**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%***************************%%%%%%%%%%%%%%%%%%%%%%%%%%%
........................--..--..........................----.-------------+++**%**********%%**+++---++***%%%%*++%*+%*++++++++++++++++*-.--+*+++##*****+***-......------........................................... . ... ...----....------.--..--------.--.--++---+..---..--..++--.+*+-.---.-..............................-..... .... --.... ............--------+*%##&&&&&&&&&@&#++*++-+*%%%%%%%%%%###%%%%%%%%%%%%%%%%%%######%%%%%%*************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%
........................--..-...........................------------------++*%*%********+**%***+---+++***%%%%*+*%***+++**++*++++++++++-.---+-*+#%********+......------............................................. ..... ...........-----+-.-...-..---..+-.++-.------.-..--.--.-++++..-.--...... ...........................-.-.........-...... .........--.------+**%%#&&&&&@&&@*-*+----***#%%%%%#######%%%%%%%%%%%%%%%%%#######%%%%%************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
........................-...........--.............-..--------------------+-*********+**+**%**+----++****%%%%*+****+++***+++++++++++++-..--++*+%********%+.....-------............................................. .... ......-.....-+--++-. ..--.--.-..-.--.-------------.+-+**-.-...... .............................--...-..........--.. ..............-.------+*+%%%##&&&@@&*-*---+---+*%%###########%%%%%%%%%%%%%%%%%#######%%%%%%***********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
....-..................-..............................------------------+-++********+******%%*++---++****%%%%*+****+++**++++++++++++++-..--++++#%*%****%%-.....-------...................................................... .............-----++-...-.--.--..-.--+-----.-+-.---+**-----.-. .....- ........... ...........-..-...........--..-.............---..--++***%*%%###&&%-*..-.-----+%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%*********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
......-.............................................--------------------+-+********++***+**%%*++--+++****%%%%*****+++***++++++++++++++-...-++++&%*****%%*......------............................................... .................... -----++--...--.--..+-.---+-+-----+--**-+------...... ....-.............. .......--..--.............-+.--..............-----+*+*+%%**%##%+-*--**-.-+-++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%******************%%%%%%%%%%%%%%%%%%%%#####%%%%%####
....-.-...................--......................-..---------------------+*******++++**+**%%*++--++****%%%%***+*++++++*+---+++++****+-.-----+*&%******%+......------......................................... ..... ........--......... . .--------..-......-...----------++-+--++----....................-......... ......-----..-..........-+.............---.+++-+++***%**%%*+---++**++%+-++%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***************%%%%%%%%%%%%%%%%####################
...........................-.........................--------------------++*******+++++**+*%%*++--+*****%%%%*%*+*++++++*+-+++*****++*+-...-+++*#%*******-......------......................................... ..... ........-.......... . .--++++-.-..-...--+---+-+-.--+-+++-++-++-.. ...............--................--..-+---.............---..........----++----++******+----++++++-*++-++%**%%%%%%%%%%%%*%%%%%%%%**%%%%%%%%%%%%%%%%%%%*************%%%%%%%%%%%##########################
-...............................................--.---------------------++**%*****++++++*+*%%*+++-+*****%%%**%*+*+-++++**-+**+++++--+-...--++-*#*******+......------.......................................... . ......................... . .-----..--..-.--++--.-+--.----++++--+-............-.........-................-.-.-+......-........-+-...........---+++++-++++**--.-+--+**%%**-+%+-*%******%%%%%********%%*******%%%%%%%%%%%%%%%%***********%%%%%%%%%%%%###########################
-....................-..........................-----------------------+++*******++*++++***%%*+++-+*****%%%****++++++-+**+**+++++++----.---++-*#*++++++-.......----......................................... .................-.--....... .. ...-------...---+--.--.-+----+--+++-............ --......-..--. ....... .-......--.....-.........-*+-...........---+--++++++++.-+----++***+*-+#%-*%*******************************%%%%%%%%%%%%%*******%%%%%%%%%%%%%%%############################
...-.............-..............................----------------------+++********+**++++***%%**++-+***%*%%%*****+-+++-+**+++++++--------.--+++*#+++++++.......-----....... ................................. . . ..............-....... .-----......-++--..-----+-+++--- .... ........ .....-.....-+-.....-...--....---....--.........-*++-...........--+-+-+++*----+----.-*+*+%***#&+********************************%%%%%%%%%%%%%********%%%%%%%%%%%%%##############################
-.-............-..............................----------------------++++*********+++++++***%***++-+%*%%*%%%%****+-++++**++++---------------*++*#+----++.......-----....... ....................-............ . ...................... ..-.--.--....++--..----++--+-- ...... ....................-.---.-.......--...--.................*+-+-............+++---+-..---++.---+-+-*+**%&++*******************************%**%%%%%%%***********%%%%%%%%%%%%###############################
-......--................................-....---------------------++++**********+++++++******++-+*%*%%*%**%***++-++-+*++++----------------+++*#+------......-----........ ................................ . . . ............ ........ .---.-....-..----...---+-.----...............................--.-.......---.-+-................-*+--+---.....----+------..++---..-+--+*%%+%*+%++************************************%%%%************%%%%%%%%%%%################################
-......--...-....-...........................---------------------+++************+++++++******++++*%*%%*%**%****+++++**+++-----++------.---+++*%*-----...-...-----....... ....................-............ .. ........ .... . ..... .------...-..----...-.--.----...............-...........-...-...-.......-----+-.............. .-*+--------.---.+--+-++-.-+.-. .---.--++*#%%%+%*+*****************************************************%%%%%%%%%#################################
-......--.---...-............................-------------+++++++++**************++++++++*****++++*%*%%*%***%***+++++++++------+-------.--+*++*%+-----........---..... ................................... ..... ...... ...... ..... .+.--.--..-------.-..---.-.-+-.... ...... .........-..-.-. .....-..-..-------+-............... -*+-----+++--+*+++--+-++..+.+....-++--++-**##%%*+*****************************************************%%%%%%%%%################################&
--........-........-............-............--------------+++++++***************+++*++++*****++++***%%*%***%*+**+++-+*+++----+-------..--+++-%%+----.........---.. . .... .................................. .. .. ... ....... ...... .+-.--.----------.--..-.-- ---... .... . ............-.-.......--...----+---+-..............-.-*+------++-+-+++++---++.-.-. -..---.-++*+%*+*+#*************************************************%%%%%%%%%%%%%#################################&
.......-..-....--..................----.....-.-----------+++++++**************+*+-+++++++*****++-+***%%%**+****+*++++*+-++------------..--++++%%+---...--.....--. ........................................ ...... .. ... . ..... .-...+--.-.-----.......-...---... ...... .. ............-.........-..-..----++................-+%+----++++---------.-+-.+--. .-.+--.---+*-%*+*%%***********************************************%%%%%%%%%%%%%%####################&############&
.--..........-.---.................--........---------+----+++****************++++++-+-++*%**+++-+***%%%**++***+*++++*+-+++-----------..--**++%%----....-.....--. .. ... .... ... .........-................ . . ..... ...... .. ..... .-....----..----...-.-+-...---....................................--..---.--++--...............*%+-------++----.-...---.+--...-.-++--+*-**++*+************************************************%%%%%%%%%%%%%%%#############################&####
-............................-...-.-...-.....---------+++++++++**************+++*++-++-++****++--+****%%**+++****+++++++++------------..--++++*%----.........--.. .. ......... ... ........................ .... ............ . .... .-.....--...-----..-++-....--- ................................-....-.+-----++................-*%---------+++++---..--..+--......--.-+++-*%%*+*%%*************%%******************************%%%%%%%%%%%%%###########&&&################&&&##&
............-....................-..-...-.-.-----++-+++++++++****************++**+--+-++****++---+*****%**++++***+++++-+++------------..--+*++**-.-..........--. .................. .................-.... .. .......... ....... ...... .....-.........--- .-..-...-.-.......................................--+---+++.-.........--...-*%-------.-**++---.-.....---...---+++.-++--*+++*#%************%%%%****************************%%%%%%%%%%%%%#########&&&&&&&&##############&&&&#&
.......................--.-..--.-..--.------------++++++++*****++*******+*++**+++-----++***+++---+********+++++**+++++--+-------------..--*+++**-.-..........-...... ....... .............................. . . ........... --..... . . ............---........-....-.-...-.........................................------+++.............-..-*%--------+++----.--.---.-*.-..--.-.+--++-*++++%*%%%*********%%%%%%**************************%%%%%%%%%%%%%#########&&&&&&&&&#############&&&&&#&
............................--.--------------------+++++++++++********++**+++++*+-----+***++++---++*******++++***+++++--++------------...-++++%%-.-.........--....... . .................................. .. ... .......-........ . ......--....-...-...--.--...-.........................................---+++++...............-+*%------+*++++--...-------*-+-.+-++----++++--+++***%********%%%%%%%%%***********%%%**********%%%%%%%%%%%#########&&&&&&&&&&&&###########&&&&&&&&
--..............-...........--....--.----------+++++++++++++*********++++++++++*--+--+****+++----++****+**++++***+++++--+-------------...-++++%%--. ........--................................-........... .... .............-..... .... . .......-.--.----.-.....-...--- ......... ........ ....................-----+*---.............-+*%-------***+++-...---+--.+.--.+++-+--+-++++++-*+%+%********%%%%%%%%%%%%%%%%%%%%%%%%%%%****%%%%%%%%%%%#########&&&&&&&&&&&&&###########&&&&&&&#&
-.-............................------------------++++++++++++++*****++++++++++++----+****++++----++****+***+++***+++++--+-------------...-+*+-%%-...........-.... ...................................... .. ...............---... . .... .....---.--.--..--...--......-........... ...................-........----++*+--.............-+%%-------+**+++-..---++----.--*+---++-+*-+-++++%*%+%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#########&&&&&&&&&&&&&&&###########&&&&&&##&
..............................------------------++---+++++++++******+++++++++++++--+**+++++++----++****++++*+++**++++++-+-------------...-**++%*.. ........--............................................... ................--... ........ . ....-.-..-------.-...---....-............ ........... ...............----++*+.-.............-+**---.-+++*%*++---.--+++------++---+++-++-+**++*%*-%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#########&&&&&&&&&&&&&&&&&###&&&&###&&&&&&##&
..............................-----.-----------+-+++++++++++++***+++++++++++++++--+*+++++-+++-.-++++***+*++*+++*++++++----------------..--**+-#*.. ........-................................................ ................-........ ...... ..-..--...------.---..-..-...--........................ ......-.-.......-----*+...............-+%*.---.-+*%%%*---..----+---+--++++--+*%%*++--++++*+*%%%*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
..............................-------------------+-++++++++++***+++++++-++++++++++++++++-+++--.--+++*%*+*+++++*+++-++---+-------------...+***+#%.. .........-..........................-................... ................-.--.... .......... .-.-.-...--.---......--.--..--...... .-.. ..-... .......-.-..-.--------*+-............ .+*%*.-.-----*%%%+--.---.--------++-+*%%%##%***--++*%+*%%%***%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
................................-.--------------+++++++++++++***++++++--++++++*++++++-+--+++------++****+++++**++++++---+------------....-***+#*. .........-.............................................. . .. .. ..... ...- ..... . .. .-.-..----..-----.--.--....---.................... ........--....---++++%+............. .+*%+.------++**%+--..-+-.---.--+.-++*++**#%%%%*++**+*%%%******%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%##############&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
................................-----------------+---+++++*****++++----+++++++*+++++-++-+++----.--++****+++++**++++++----------------...--*%*+#* ...........--................ .........--................ .. . . ......... ... . ..-....-----..---+----++-..-.---.................. -. ............---...-----+%+............. -+*%+.-------+*%%*-....----.-...+--+--*%%%#***+**%++*%%%***%***%%%%%%%%%%%%%%%%#############%#################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
.............................-.----------------------+++*****+++++----+++++++**++++--+-+-++---..--++*****+++**+++++++----------------...--+**+%+ ......-....-................. ......................... . .. ................ ... .........+......-----. -+-.--.---..... ...... .. ... ..............-...---+**-.............-++*%+.--.---+++*%%-......-..--...+++*%%%*%%%%*+++***##%%%%*%*%**%%%%%%%%%%%%%%%##############################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
...........................-------------------------+++****+++++++++--++++++**+++-----++--------.-++*****+++*+*++++++-+--------------...--*%*+%- ...........-.............................................. .. ...-.. ................-..-...-....----....-+-.--.-+-....... .... . .. . .....-............---+*%+.............-+*%%-..--.---+****+........-.....--+%%++*#&&#%%*++*+%#%%%%******%%%%%%%%%%%%%%##################&&&&##&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
..........................-..--------------------++++++****+++++----++*++++**++------+------.-----++*+****+++**++++++----------------...--***+%- ...........-............................................... . ..-............... .--..-----..----....--.----.-+-.--.... ... ..... . ..................--+*%+..............+***..-...----++*%*.......---.-..--+++*%**++------+**%%%%%%*****%%%%%%%%%%%%%%##########&&##&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................-------------------+++++++*++++++-------+++-+++*+++--+----------.....-++*******+*+*+++++++-.-------------..-.-***+#- ...........-.............................................. ..................... .-..--.---........-..------..+--...... .-. .......... ......-...........-++%*............ .+%%*....---------*%-.........---.-+-+***+*%++++....++%%%%%******%%%%%%%%%%%%##########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................-------------++++++++++***+++++--------++----++++++-+----------.-....-++***+++++*+**+++++----------------..-.-***+&+ ...........-............ ............................... . ......... .-...........-+.---... .-..----......---..+-. .......-.--...-............. .............-+*%-.............+*%*.-..---------++-..--..-...--.-+++*-.*%#&*%%*--.--*%%%*******%%%%%%%%%%%###########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................-------------+++++++*+++++----+--------------+++++---------------...--++***+++++**+*+++++----------------..---*+++%-............+............ ................................ . ........................--.--.-- .+------++.....-....++-.. .....-..-......... .......... .......---++%+............-+*%*.-.--------.---.......--.-----+++-+++*++#*+%+++---*%%********%%%%%%%%%%###########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................---------++++++++++++++---------------------++++--------------.......-++***+++++*****+++-----------------..-.-+*+*#- ...........--............................................... ... .......-............--.---+.-----+--++%+-.+.--...+--........+-.. ............................----***............-**%%-.-----------.-.--.....-.--+---.-*+**#%**#*+++%-+-+**********%%%%%%%%%%##########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
...........................-------------+++-+--------------------------++-----..----------.....--.++***++++++*****++-----------------....-+*+*%-............--............................................. ........................--.-.+..----+--++++**.-+.----++-.. ...-.+-..-.---....--.......... . .....-.---+*-............+*%%----------..------.....-------..+%**-*%*##%#++%++++************%%%%%%%%#############&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................-----------------------------------------+++--------------------...---++***+-++++*****++-----------------....+**+*%-............--................................................ . ....... ..................--.++-...---++-+++++-..*----.++-........-...--..-*..-...........-. . .....-.--++-...........-**%%-..-----.--.----+-.-....--.-. -.-%**%##*&#*%+-%%+***************%%%%%%%##############&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................------------------------------------..-++++-----------..-----.....-----+***+-+++++***+++-----------------..-.++*+*%....-........--........................................... ...... ..--................-........-....-....-.++++-*--+..+%*+--++--.......+*% -+....--.-....-.--............-.--++-...........+*%*%-.....--.--------...-.........-.+%+-+***++----***#+*************%%%%%%%#############&&&&&&&&&&&&&&&&&&&&&&&&#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
.........................-.-----------------------------.---------+++-----------.-.-----.-.-.------+***----+++****++-----------------..-.-+*+**..............-.................-......................... .. .-....-... ............-.........----.... ...+.**-*+-*--+-++.--+*.......-**&%-.-..-.---....---...+...........-+-+--..........+*%*%-......----------...--..... ...----*#%%%###%*++*+%**************%%%%%%%#############&&&&&&&&&&&&&&&&&&&&&&#%*%%%##&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................------------------------------------++--------.----------------.------++***-----++****++-----------------..-.+**+*%-.............-. ....-....................................... ...---...... ..................-------.--...--.++---..---...---++-.....-****%%-.++*-.-.........- .-. .....-++----.+---.......+%**%-.......----------.----... ....--%%#%%*-+++++++**%%*************%%%%%%##############&&&&&&&&&&&&&&&&&&&&#%********%%%%#&&&&&&&&&&&&&&&&&&&&&&&&
...............................-------..-.------------------------------..---------.-.------.-----++**+---+++*****++-----+-----------.+-.+**+*%---.-.........-.................................-........ .. ....--........... ..--............--.--.----..--.--*----.-+---+-++*+-..-..+%*+--++*#**%+-................------...---**+-.......+***%+.......-----..-----.--......--***---..+%%*-....*%**************%%%%%%#############&&&&&&&&&&&&&&&&&&#%%************%%%%&&&&&&&&&&&&&&&&&&&&&&&
.........................-......------.......----------.---------------..-----.------.------------++**+----+++****++----++++-+------.-*-.+***%%-.............-..............-........................... ...--.................--..-.......--.-.....-..--.+++++-----+-+++*-*++.....-**..-+-+%..-**-......-...---+-+-.....-+++*%%*+......-+***%+........----------..--.....--+-..+-%..##%%**+-..+%*************%%%%%%########&&##&&&&&&&&&&&&&&&&&#%%****************%*%%##&#&&&&&&&&&&&&&&&&&
........................-...-..----.-......-.-------.-----------------.....-----------------------++*+----+++******+----+++++++-----.....-**+%%..............--................................-........ ...--.... .............-..........--.-.+....---.+--+*++--------++-++-.......-..----%-.*-+*-...-.+--+--.-....------++*%#%*+-...--+**+*+........----------...---.---+---.-++++.**-.+*++---*************%%%%%%%########&&&&&&&&&&&&&######%%*******************%%%%%%%%%###&&&&&&&&&&&&
.......................--------------........-...-..-------..-----------..--..--------------------++++---+++*****+*+++++++++++++----.....-+*-*%..............--......................................... ...--.. .......----....---......-.-----.-+--.-+++-+++%+--.----+-+*-..............%%+**-+*---*++--.........------++*%%#%+-....-***+**--......------------.------....-+---#&#*+%#-**++*-+************%%%%%%%#########&&&&&&&&###%%%%%%%**********************%%%*%%%%%%%%%%#########
.......................--------------...............--------------.----.....---------------------+++++-++++****+++**+++++++++++-----.....++*-**..-...--......--......................-.................. . ..---.. .....------.....----...-....---------.-++--+*%%++++-**-+*+-...--.. ....--%**+-.**-----.......--.--------++%%%%%+...-++*+-*+----------------+--...----..-+-+++++*###*%%%**-+*%%+************%%%%%%########&&&&&&&&##%%%%%%%%***********************%%%%%%%%%%%%%%%%%%#%%%#
.....................---------------.-......-.....-------------------.--.....--------------------+++++++****+++++***++++++++++++----....-+*+-**.-...---......--........................................ ..--.. .....-----.........-..--..------..-++--+**-+**%*+-+--*++*++....-... ..---+++**--%+.-.-...--..--.-----+-++*%##%*+-..-++*+-**---.---------------..---...--.+*-++*-+****##%*+*+%**************%%%%%%########&&&&&&&##%%%%%%%*************************%%%%%%%%%%%%%%%%%####%#
.....................----------------......-----.--------------------.----...------------------+-+*********+++++++**+***+++++++++---....-++*-**.------.......-..............-........................ .--... ........---.---... ...-.--.--..-..-.+%**%%*-.-****+---+-+**----.....---....-*#*+-+#..-----.----+-----+++++*%%#%%+-..+-**+-**-------------++-++-.----..-+---+--*%*.-*%#&###%*****************%%%%%%########&&&&&####%%%%%%%************************%%%%%%%%%%%%%%%%%####%%%
....................-----------------......-.-..----------------------------------------------++********++++++++++******+++++++++---....-++*+*+.-------......-..............-....................... ...... ......-...----..........--......--.....--..+--+----+**+-**-------+---....-.-+-.-+#+.-++-----+++*+---++++**%%%#%+-...-**--+%-----------+++++++-.-+--+--++...----+*++-***+**+#***************%%%%%%#######&#&&######%%%%%%%*****%*%%*******%**%%%%%%%%%%%%%%%%%%%%%%%##%%%%
..................------------------------.-----------------------------------------------++++++****++++++++++++++******++++++++++--....-+**+%+.--------....--...................................... ..-. . . ...............---..........-----..----+++++--++-++++*+++++-+---..........-+..-%%--++++--++++*+++--+**%%###%%+....+*+--+%------------+++++++.-++---.-+--.---+%###**###%*+%%**%************%%%%%#################%%%%%%*%%%%%%%%%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
..-.............-.-----------------------------------------------------------------------++++++***++++++++++++++++******++++++++-+.-....++*++%+.--------...---.............................. ...... .. .-. ... ......-.........--..-----.........--..-++++-+++---+--++---...-.. ...........-+--%*+%+--+++-++*++++++-+*%%###**+. ..+*+--+%+-----------+++++++--+++--....--.---+-----+---++*#%#%************%%%%%#################%%%%%%%%%%%%%%%%%%******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
..-..........-..-.....--.--..----------..-----------------------------------------------++++++*+++++++++++++++++++******+++++++++- -....+**++%+.------.....--...-............................... .. .-. .... ....----........--.-------.---.............-.........................-.-......-+*---+*+++++++**+++++--+***+++--.. -+*+--+*-----------++++++++--++++---...-.--.. .-+++-*+---*&%%**********%%%%%%#################%%%%%%%%%%%%%%%%%%*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
....................---...------------.------------------------------------------------++++++*+++++++++++++++++++**********+++++-..-..-.++*++%+.-------...---...-................................ .. .-. ... ......-+-........-.-..--......----..----..----............---.--+---++----..........-**++-+++++**++--+-++-++-... .-+*+--+*+----------+++++++++-++++-...+-....--+---..-*++*..-+%%**********%%%%%%%###############%%%%%%%%%%%%%%%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...................--.--..-----..-----.------------------------------------------------++++++++++++++++++++*++++++**********++++-..--.-.+**+**+------.....---.........-...-.......-.............. -.. . .. .....-.---........-...-..-.......-------------+--+---------+------++-+++------....--..--*%+++++%%##*+-+-++*++-....--+*+--+%+-+--+++---+++++++++--++++-.--. .--*---+-.-*.+---++%**********%%%%%%%###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***
...................-...-.........-......-----------------------------------------------++++++++++++++++++*+++++++***********+++-...----.+**+**+------....---.........--.-........-.............. . .-. .. ......-.---........--........-.......-----------+-+++-------++--.--+++++++--..----.---.--+++**#&@&&##%+---+*+++....--+++--+%+-++-++++++++++++++++-+++--.-.. . ...%+++-+*%***-+-*-+%********%%%%%%%%%###########%%%%%%%%%***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******
.................-.....--...-..........---------------++----------------------------+-+++++++*+++++++++++*+++++++************++. ..-..--**+++*+------.-.----.........--........................ .-.. ...........--.---.........-.-................-------------+--..---+---.---++++++-..----..----.--.++%@@@@##&#--+++-++...-..++---+*+++++++++++++++++++++-+++--.......-.-*--%#%%%***++-+%+************%%%%%%%#########%%%%%%%%%%***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********
.......................---..-.....-.------------------++-++---------------------++++--++++++*+++++++++++++++++++**********++++. ...-.---+*++**-------.-.----...........-..................... .-... ............-----...-----....--...............--.-+-----------..---------.---++++-.---...-----..---*%##&&#*#%----+++-.....+++---*+++++++++++++++***++++++++--.-......-+-..-+*...+-+-*%+************%%%%%%%########%%%%%%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********
...................-..-........--.------------------------+--------------------+------++-+++++++++++++++++++++++***********+*-.....-..--+*++**------...---....-...-...............-........... .. .-... ..........-.------..-------......--........-...-------.-------.---...------------..----...---+-..-----*#**&#&%..-++--.....**+--+*+++++++*+++++++++++++++++*+--+-.......-+-+**%%%%*--+#%*************%%%%%%#####%%%%%%%%%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**%**%***********
--.......--.......---.--..-....-----------------------------------------------+-------++-+++++++++++++++++++++++********+**++......-..--+*++++------...---..........--..................-...... . -... ..........---------..--------.......--.........--...--...-----...-..-.....-----+--..-++-....----....--++++-%@#@&+-+++*+-..-**+---++++++++++++++++*+*+++++++++++-*+--+-+*%*++++*%%*%%+*%%*******%**%**%%%%%%%%%##%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%**%**%**********************+*
-.........-.....-..---------------------------+------------------------------+--------+-+-++++++-+++++++++++++++*****+++++++.......-.----**+**-----....---..........-.....-....---.......... .. .... .......-..--.------.---------...................---...-------............-.....---..-++-...-.---....----+*+-%%%&#%-+*+*+...+++---++++**++++++++++++++++++++++++-.-+++++-. .-..++*.--+*%+*************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**%%%%**********************++++++*
..............--.-----------------------------+-------------++--------------------------+-++*+++-+++++++++++++++****++++++++......--..--+**+**------.-.---....-..--......--...-............ .. ... .-... ........-.---..---.--.--------......................--.-..----.......................-++--...----.....-+-+++++**#%&%++***-..+++---+++++*+++++++++++++++++++++++-+---+. -+**--.- -++---+*************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***%%%%**********************+++++++
.............--.---------------------------------------------------------------------------++--+--++++++++++++++***++++++++.......--..--**++*+-----....--.--.-.----.....---...--.....+.... ... .-.-- ........-..---.------.--++-++--.....-................--------........................-+++-......-.....-+++++--+*&*%&%+***-.-++-.--+*+++++++++++++++++++++++++++----- ---+#%+-* -++++%+-************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%%*%%%************+**********+++++++